__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