Constants
| From: | Andi Gutmans | Date: | Mon, 03 Dec 2001 18:24:29 +0000 |
| Subject: | Constants | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-72356@lists.php.net to get a copy of this message | ||
Hi,
I'm trying to wrap up the class wide constants in ZE2. I implemented them so that class wide constants are case-sensitive. I think in general, although ZE1 allows you to define case-insensitive constants it's better for performance and for general esthetics.
I have two issues I'd like to get some input on:
a) There are almost no constants in PHP which are case-insensitive (which aren't user land defined with define()). Actually the only ones I could find are in the Zend Engine such as TRUE & FALSE which makes sense. All PHP extensions which use REGISTER_LONG_CONSTANT() and friends use the CONST_CS (case-sensitive flag). I would like to change these macros to *always* register as case-sensitive. Unless I missed some extensions this shouldn't bite anyone as all extensions seem to use CONST_CS. Of course I won't change the special purpose constants such as TRUE & FALSE which are today registered as case-insensitive. What do you guys think?
b) REGISTER_MAIN_LONG_CONSTANT() and friends (notice the MAIN) are used to register constants which shouldn't be unloaded when the PHP extension is unloaded. I can't think of many cases where this is applicable. For example, if the pspell extension is unloaded I think all of its constants should be unloaded too. However, this extension is one example of an extension using the _MAIN_ macro. Can each of you check your extension and move to REGISTER_LONG_CONSTANT() unless there's a good reason not to?
Thanks,
Andi