Re: Constant and expression ?

From: Date: Wed, 19 May 2010 10:21:27 +0000
Subject: Re: Constant and expression ?
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-48343@lists.php.net to get a copy of this message
On Wed, May 19, 2010 at 5:52 PM, Frederic Hardy <frederic.hardy@mageekbox.net> wrote: > Hello ! >> >> AFAIK class constants are optimized for speed and therefore don't >> support expressions; don't expect this to change any time soon ;-) >> >>> Is there any feature request about constant and expression ? >>> I would like to write something like that : >>> >>> <?php >>> >>> namespace foo\bar\directories { >>>    const tmp = __DIR__ . '/tmp'; >>> } >>> >>> ?> > > So the best solution is something like <?php > define('foo\bar\directories\tmp', __DIR__ . '/tmp'); ?>... > It 's strange that "define()" function can do something that the > "const" >  keyword can't do, even if "const" keyword evaluation is done at compilation > time and "define()" evaluation is done at runtime. That's why there's a cost penalty to using define(). I wrote a small article that gives an idea of the speed differences: http://shwup.blogspot.com/2010/04/about-constants.html > > Best regards, > Fred. > > -- > ======================================================================== > Frédéric Hardy : Architecte d'application/Admin. système/Ergonome >        Status : En recherche d'emploi > ======================================================================== > > -- -- Tjerk

« previous php.internals (#48343) next »