__LINE__ , __FILE__ (and now __FUNCTION__ & __CLASS__) are converted at 
compile time into a string - have a look at zend/zend_language_scanner.l 
 for more details.

regards
alan


Michael Virnstein wrote:

>A short question on this:
>how about __LINE__?
>doesn't this also require runtime context or am i wrong?
>if so, why it is a constant then, not a function?
>
>Michael
>
>"Stig S. Bakken" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
>[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
>
>>Hi,
>>
>>__FILE__ is compiled into a constant string by Zend.  You can think of
>>it as equivalent of putting a string with the filename there instead.
>>It is constant.  __CFILE__ would require runtime context (which function
>>called us), so it makes no sense as a constant.  Derick's xdebug
>>extension will provide functions for this instead.
>>
>> - Stig
>>
>>On Wed, 2002-04-24 at 21:40, Michael Virnstein wrote:
>>
>>>an additional thought:
>>>if __CFILE__ and __CLINE__ are used outside of
>>>a function/method, both should be NULL. and trigger_error
>>>should only overwrite its __FILE__ and __LINE__ settings, if
>>>they are NOT NULL. And if one of the __FILE__ , __LINE parameters
>>>of trigger_error is NOT NULL, both have to be set.
>>>
>>>My 2 cents ;)
>>>That's how i would prefer it.
>>>
>>><[EMAIL PROTECTED]> schrieb im Newsbeitrag
>>>[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
>>>
>>>>Hello Michael,
>>>>
>>>>I'm working (80% done) on an extension for this. It should be finished
>>>>
>in
>
>>>>a few days. It doesn't feature the __C*__ things yet, but I can add a
>>>>function for that too.
>>>>
>>>>I'll keep you posted,
>>>>
>>>>Derick
>>>>
>>>>On Wed, 24 Apr 2002, Michael Virnstein wrote:
>>>>
>>>>>It would be really useful for writing functions/Classes, if
>>>>>i were able to determine the __FILE__ and __LINE__ of the
>>>>>script, that is calling my function, without the need to send
>>>>>__FILE__ and __LINE__ as parameter to my function.
>>>>>E.g. __CFILE__ for calling script and __CLINE__ for line in the
>>>>>calling script would be really great.
>>>>>In addition it'll be useful, if I could use trigger_error in this
>>>>>
>>>manner.
>>>
>>>>>Most of the time i don't want to know, on which line my
>>>>>
>trigger_error
>
>>>>>call is located, but on which line in the script that called my
>>>>>
>>>function,
>>>
>>>>>the
>>>>>error occured. it'll be nice, if trigger_error could be extended, so
>>>>>
>it
>
>>>>>takes
>>>>>to more parameters, which overwrite the default __FILE__, __LINE__
>>>>>settings of trigger error.
>>>>>
>>>>>Example:
>>>>>
>>>>>function somefunction($array) {
>>>>>    if (!is_array($array)) {
>>>>>        trigger_error("Not an array", E_USER_ERROR, __CFILE__,
>>>>>
>>>__CLINE__);
>>>
>>>>>    }
>>>>>    // do something with the array
>>>>>}
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>--
>>>>>PHP Development Mailing List <http://www.php.net/>
>>>>>To unsubscribe, visit: http://www.php.net/unsub.php
>>>>>
>>-----------------------------------------------------------------------
>>
>>>>                 Did I help you? Consider a gift:
>>>>      http://www.amazon.co.uk/exec/obidos/registry/SLCB276UZU8B
>>>>
>>-----------------------------------------------------------------------
>>
>>>>              PHP: Scripting the Web - [EMAIL PROTECTED]
>>>>                All your branches are belong to me!
>>>>            SRM: Script Running Machine - www.vl-srm.net
>>>>
>>-----------------------------------------------------------------------
>>
>>>
>>>
>>>--
>>>PHP Development Mailing List <http://www.php.net/>
>>>To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>
>
>




-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to