RE: Re: class const versus define

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Richard Lynch schrieb:
> > Is there any reason why the logic behind define() couldn't be pushed
> down to class const?
> >
> > Code like this is kinda fugly:
> >
> > //It's okay here, but not in a class?
> > define('CACHE_DIR_LONG',  CONFIG_ROOT_PATH . '/cache/');
> > class Cache {
> >   const CACHE_DIR = '/dev/shm/cache/';
> >   const CACHE_TTL = 300; //5 minutes
> >   const CACHE_DIR_LONG = CACHE_DIR_LONG;
> >
> > I'd really prefer to write:
> > class Cache {
> >   const CACHE_DIR = '/dev/shm/cache/';
> >   const CACHE_TTL = 300; //5 minutes
> >   const CACHE_DIR_LONG = CONFIG_ROOT_PATH . '/cache/';
> >
> > I'm happy to add it as a feature request, but not if somebody
> reliable says "Don't Bother"...


> Hi Richard,
> the define function is to be used on the global scope of your
> application. This is helpful to assign Configurations Options and other
> data that you do not will move. For the Class Constants you define the
> Constant only fo the Class where you are working.
> Please read the documentation about this on PHP.NET
> http://de.php.net/manual/en/language.oop5.constants.php

I understand the difference quite well, thank you.

I need the PATH to differ in development, staging, and production due to mixed environments.

Unfortunately, I CANNOT construct a class const "on the fly" from global define'd constants and constant strings.

Yet, the logic that makes it possible to do that for define itself in some kind of pre-processor should not be terribly difficult to push down to the class level, I would think.

So, in fact, I'd LIKE to use the class const properly for what it is mean for, but cannot do that because its value depends upon the environment.

PS
Apologies for the legal disclaimer over which I have no control; not even the silly punct-
uation it ended up with in plain-text email.
Sigh.


_______________________________________________________

The  information in this email or in any file attached
hereto is intended only for the personal and confiden-
tial  use  of  the individual or entity to which it is
addressed and may contain information that is  propri-
etary  and  confidential.  If you are not the intended
recipient of this message you are hereby notified that
any  review, dissemination, distribution or copying of
this message is strictly prohibited.  This  communica-
tion  is  for information purposes only and should not
be regarded as an offer to sell or as  a  solicitation
of an offer to buy any financial product. Email trans-
mission cannot be guaranteed to be  secure  or  error-
free. P6070214

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux