summaryrefslogtreecommitdiff
path: root/zend/extensionimpl.cpp
diff options
context:
space:
mode:
authorEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2015-01-17 22:19:08 +0100
committerEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2015-01-17 22:19:08 +0100
commit5fd8b29a1981d2d4f7c4e9925729fbe9f1c558bb (patch)
treee0738b3ebb653d1a7ae8a8c1f62f309f1895bfe5 /zend/extensionimpl.cpp
parent821e65d876cc0ce2b32471791b02d9f7cc784c99 (diff)
added initial implementation for registering constants
Diffstat (limited to 'zend/extensionimpl.cpp')
-rw-r--r--zend/extensionimpl.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/zend/extensionimpl.cpp b/zend/extensionimpl.cpp
index 262ecdb..7e1f1ce 100644
--- a/zend/extensionimpl.cpp
+++ b/zend/extensionimpl.cpp
@@ -140,7 +140,7 @@ int ExtensionImpl::processStartup(int type, int module_number TSRMLS_DC)
zend_register_ini_entries(entries, module_number TSRMLS_CC);
// initialize the extension
- extension->initialize(TSRMLS_C);
+ extension->initialize(module_number TSRMLS_CC);
// remember that we're initialized (when you use "apache reload" it is
// possible that the processStartup() method is called more than once)
@@ -322,11 +322,19 @@ zend_module_entry *ExtensionImpl::module()
/**
* Initialize the extension after it was started
+ * @param module_number
* @param tsrm_ls
*/
-void ExtensionImpl::initialize(TSRMLS_D)
+void ExtensionImpl::initialize(int module_number TSRMLS_DC)
{
- // we need to register each class, find out all classes
+ // the constants are registered after the module is ready
+ _data->constants([module_number TSRMLS_CC](const std::string &prefix, Constant &c) {
+
+ // forward to implementation class
+ c.implementation()->initialize(prefix, module_number TSRMLS_CC);
+ });
+
+ // we also need to register each class, find out all classes
_data->classes([TSRMLS_C](const std::string &prefix, ClassBase &c) {
// forward to implementation class