Hi,

On Thu, 2007-08-23 at 13:46 +0400, Dmitry Stogov wrote:
> I think we must cut the patch to use only "compile-time" constants in
> namespaces.
> For runtime constants we can use existing define().
> 
> This will fix inconsistency.

I think that would be good.

> We also can extend define() with additional argument that will allow to
> create namespace constant.
> 
> function define(string $var, mixed $val, bool namespace_constant = false);

It would be 

  function define(string $var, mixed $val,
     bool case_insensitive = false, bool namespace_constant = false);

since we already have the case-insesitive flag. In my opinion

  define(__NAMESPACE__.'::FOOBAR', $value);

is good enough and clearer than

  define('FOOBAR', $value, false, true);

where one has to think what "false" and "true" mean in that context.

johannes

> Thanks. Dmitry.
> 
> 
> > -----Original Message-----
> > From: Stanislav Malyshev [mailto:[EMAIL PROTECTED] 
> > Sent: Wednesday, August 22, 2007 10:43 PM
> > To: Antony Dovgal
> > Cc: Dmitry Stogov; 'PHP Internals List'
> > Subject: Re: [PHP-DEV] Constants in namesapces
> > 
> > 
> > > I propose to define these constants in compile time or change class
> > > constants to be defined in runtime.
> > 
> > The latter would be hard to do since class definition is a runtime 
> > thing. Unless we make all classes be defined in runtime (and accept 
> > slowdown following from it) we don't have any point in time 
> > where class 
> > constants could be defined. Also, we don't have a good way to 
> > keep the 
> > expression and scope necessary for evaluating it.
> > -- 
> > Stanislav Malyshev, Zend Software Architect
> > [EMAIL PROTECTED]   http://www.zend.com/
> > (408)253-8829   MSN: [EMAIL PROTECTED]
> > 
> 

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

Reply via email to