Creating Constants
Zend supports the creation of true constants (as opposed
to regular variables). Constants are accessed without the
typical dollar sign ($) prefix and
are available in all scopes. Examples include TRUE and FALSE, to
name just two.
To create your own constants, you can use the macros in
表格
33-6. All the macros create a constant with the specified
name and value.
You can also specify flags for each constant:
To use the flags, combine them using a inary OR:
// register a new constant of type "long"
REGISTER_LONG_CONSTANT("NEW_MEANINGFUL_CONSTANT", 324, CONST_CS |
CONST_PERSISTENT);
|
There are two types of macros -
REGISTER_*_CONSTANT and
REGISTER_MAIN_*_CONSTANT. The first type
creates constants bound to the current module. These
constants are dumped from the symbol table as soon as the
module that registered the constant is unloaded from memory.
The second type creates constants that remain in the symbol
table independently of the module.
表格 33-6. Macros for Creating Constants
Macro |
Description |
REGISTER_LONG_CONSTANT(name, value,
flags)
REGISTER_MAIN_LONG_CONSTANT(name, value,
flags) |
Registers a new constant of type long. |
REGISTER_DOUBLE_CONSTANT(name, value,
flags)
REGISTER_MAIN_DOUBLE_CONSTANT(name, value,
flags) |
Registers a new constant of type double. |
REGISTER_STRING_CONSTANT(name, value,
flags)
REGISTER_MAIN_STRING_CONSTANT(name, value,
flags) |
Registers a new constant of type string. The
specified string must reside in Zend's internal
memory. |
REGISTER_STRINGL_CONSTANT(name,
value, length, flags)
REGISTER_MAIN_STRINGL_CONSTANT(name, value, length,
flags) |
Registers a new constant of type string. The string
length is explicitly set to
length. The specified string must reside in
Zend's internal memory. |