You propably should not add this if you think this extension
    can't be compiled as shared:

+#ifdef COMPILE_DL_REFLECTION
+ZEND_GET_MODULE(reflection)
+#endif


On Thu, 17 Nov 2005, Marcus Boerger wrote:


helly           Thu Nov 17 17:59:41 2005 EDT

 Modified files:
   /php-src/ext/reflection      php_reflection.c php_reflection.h
 Log:
 - Move Reflection into its own extension

http://cvs.php.net/diff.php/php-src/ext/reflection/php_reflection.c?r1=1.189&r2=1.190&ty=u
Index: php-src/ext/reflection/php_reflection.c
diff -u php-src/ext/reflection/php_reflection.c:1.189 
php-src/ext/reflection/php_reflection.c:1.190
--- php-src/ext/reflection/php_reflection.c:1.189       Tue Nov 15 10:20:19 2005
+++ php-src/ext/reflection/php_reflection.c     Thu Nov 17 17:59:38 2005
@@ -19,7 +19,17 @@
   +----------------------------------------------------------------------+
*/

-/* $Id: php_reflection.c,v 1.189 2005/11/15 15:20:19 dmitry Exp $ */
+/* $Id: php_reflection.c,v 1.190 2005/11/17 22:59:38 helly Exp $ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "php.h"
+#include "php_ini.h"
+#include "php_reflection.h"
+#include "ext/standard/info.h"
+
#include "zend.h"
#include "zend_API.h"
#include "zend_exceptions.h"
@@ -29,16 +39,34 @@
#include "zend_interfaces.h"

/* Class entry pointers */
-ZEND_API zend_class_entry *reflector_ptr;
-ZEND_API zend_class_entry *reflection_exception_ptr;
-ZEND_API zend_class_entry *reflection_ptr;
-ZEND_API zend_class_entry *reflection_function_ptr;
-ZEND_API zend_class_entry *reflection_parameter_ptr;
-ZEND_API zend_class_entry *reflection_class_ptr;
-ZEND_API zend_class_entry *reflection_object_ptr;
-ZEND_API zend_class_entry *reflection_method_ptr;
-ZEND_API zend_class_entry *reflection_property_ptr;
-ZEND_API zend_class_entry *reflection_extension_ptr;
+PHPAPI zend_class_entry *reflector_ptr;
+PHPAPI zend_class_entry *reflection_exception_ptr;
+PHPAPI zend_class_entry *reflection_ptr;
+PHPAPI zend_class_entry *reflection_function_ptr;
+PHPAPI zend_class_entry *reflection_parameter_ptr;
+PHPAPI zend_class_entry *reflection_class_ptr;
+PHPAPI zend_class_entry *reflection_object_ptr;
+PHPAPI zend_class_entry *reflection_method_ptr;
+PHPAPI zend_class_entry *reflection_property_ptr;
+PHPAPI zend_class_entry *reflection_extension_ptr;
+
+ZEND_BEGIN_MODULE_GLOBALS(reflection)
+ZEND_END_MODULE_GLOBALS(reflection)
+
+#ifdef ZTS
+# define REFLECTION_G(v) \
+       TSRMG(reflection_globals_id, zend_reflection_globals*, v)
+extern int reflection_globals_id;
+#else
+# define REFLECTION_G(v) (reflection_globals.v)
+extern zend_reflection_globals reflectionglobals;
+#endif
+
+#ifdef COMPILE_DL_REFLECTION
+ZEND_GET_MODULE(reflection)
+#endif
+
+ZEND_DECLARE_MODULE_GLOBALS(reflection)

/* Method macros */

@@ -921,7 +949,7 @@
/* }}} */

/* {{{ zend_reflection_class_factory */
-ZEND_API void zend_reflection_class_factory(zend_class_entry *ce, zval *object 
TSRMLS_DC)
+PHPAPI void zend_reflection_class_factory(zend_class_entry *ce, zval *object 
TSRMLS_DC)
{
        reflection_object *intern;
        zval *name;
@@ -4132,6 +4160,10 @@
};
/* }}} */

+function_entry reflection_ext_functions[] = { /* {{{ */
+       {NULL, NULL, NULL}
+}; /* }}} */
+
static zend_object_handlers *zend_std_obj_handlers;

/* {{{ _reflection_write_property */
@@ -4152,10 +4184,17 @@
}
/* }}} */

-/* {{{ zend_register_reflection_api */
-ZEND_API void zend_register_reflection_api(TSRMLS_D) {
+static void reflection_init_globals(zend_reflection_globals *globals) /* {{{ */
+{
+       /* Initialize your global struct */
+} /* }}} */
+
+PHP_MINIT_FUNCTION(reflection) /* {{{ */
+{
        zend_class_entry _reflection_entry;

+       ZEND_INIT_MODULE_GLOBALS(reflection, reflection_init_globals, NULL);
+
        zend_std_obj_handlers = zend_get_std_object_handlers();
        memcpy(&reflection_object_handlers, zend_get_std_object_handlers(), 
sizeof(zend_object_handlers));
        reflection_object_handlers.clone_obj = NULL;
@@ -4230,8 +4269,32 @@
        REGISTER_MAIN_LONG_CONSTANT("C_IMPLICIT_ABSTRACT", 
ZEND_ACC_IMPLICIT_ABSTRACT_CLASS, CONST_PERSISTENT|CONST_CS);
        REGISTER_MAIN_LONG_CONSTANT("C_EXPLICIT_ABSTRACT", 
ZEND_ACC_EXPLICIT_ABSTRACT_CLASS, CONST_PERSISTENT|CONST_CS);
        REGISTER_MAIN_LONG_CONSTANT("C_FINAL", ZEND_ACC_FINAL_CLASS, 
CONST_PERSISTENT|CONST_CS);
-}
-/* }}} */
+
+       return SUCCESS;
+} /* }}} */
+
+PHP_MINFO_FUNCTION(reflection) /* {{{ */
+{
+       php_info_print_table_start();
+       php_info_print_table_header(2, "Reflection", "enabled");
+
+       php_info_print_table_row(2, "Version", "$Id: php_reflection.c,v 1.190 
2005/11/17 22:59:38 helly Exp $");
+
+       php_info_print_table_end();
+} /* }}} */
+
+zend_module_entry reflection_module_entry = { /* {{{ */
+       STANDARD_MODULE_HEADER,
+       "Reflection",
+       reflection_ext_functions,
+       PHP_MINIT(reflection),
+       NULL,
+       NULL,
+       NULL,
+       PHP_MINFO(reflection),
+       "0.1",
+       STANDARD_MODULE_PROPERTIES
+}; /* }}} */

/*
 * Local variables:
http://cvs.php.net/diff.php/php-src/ext/reflection/php_reflection.h?r1=1.7&r2=1.8&ty=u
Index: php-src/ext/reflection/php_reflection.h
diff -u php-src/ext/reflection/php_reflection.h:1.7 
php-src/ext/reflection/php_reflection.h:1.8
--- php-src/ext/reflection/php_reflection.h:1.7 Mon Oct  3 06:04:33 2005
+++ php-src/ext/reflection/php_reflection.h     Thu Nov 17 17:59:39 2005
@@ -16,31 +16,35 @@
   +----------------------------------------------------------------------+
*/

-/* $Id: php_reflection.h,v 1.7 2005/10/03 10:04:33 helly Exp $ */
+/* $Id: php_reflection.h,v 1.8 2005/11/17 22:59:39 helly Exp $ */

-#ifndef ZEND_REFLECTION_API_H
-#define ZEND_REFLECTION_API_H
+#ifndef PHP_REFLECTION_H
+#define PHP_REFLECTION_H
+
+#include "php.h"
+
+extern zend_module_entry reflection_module_entry;
+#define phpext_reflection_ptr &reflection_module_entry

BEGIN_EXTERN_C()

/* Class entry pointers */
-extern ZEND_API zend_class_entry *reflector_ptr;
-extern ZEND_API zend_class_entry *reflection_exception_ptr;
-extern ZEND_API zend_class_entry *reflection_ptr;
-extern ZEND_API zend_class_entry *reflection_function_ptr;
-extern ZEND_API zend_class_entry *reflection_parameter_ptr;
-extern ZEND_API zend_class_entry *reflection_class_ptr;
-extern ZEND_API zend_class_entry *reflection_object_ptr;
-extern ZEND_API zend_class_entry *reflection_method_ptr;
-extern ZEND_API zend_class_entry *reflection_property_ptr;
-extern ZEND_API zend_class_entry *reflection_extension_ptr;
+extern PHPAPI zend_class_entry *reflector_ptr;
+extern PHPAPI zend_class_entry *reflection_exception_ptr;
+extern PHPAPI zend_class_entry *reflection_ptr;
+extern PHPAPI zend_class_entry *reflection_function_ptr;
+extern PHPAPI zend_class_entry *reflection_parameter_ptr;
+extern PHPAPI zend_class_entry *reflection_class_ptr;
+extern PHPAPI zend_class_entry *reflection_object_ptr;
+extern PHPAPI zend_class_entry *reflection_method_ptr;
+extern PHPAPI zend_class_entry *reflection_property_ptr;
+extern PHPAPI zend_class_entry *reflection_extension_ptr;

-ZEND_API void zend_register_reflection_api(TSRMLS_D);
-ZEND_API void zend_reflection_class_factory(zend_class_entry *ce, zval *object 
TSRMLS_DC);
+PHPAPI void zend_reflection_class_factory(zend_class_entry *ce, zval *object 
TSRMLS_DC);

END_EXTERN_C()

-#endif
+#endif /* PHP_REFLECTION_H */

/*
 * Local variables:



--
Give me your money at @ <http://pecl.php.net/wishlist.php/sniper>
Donating money may make me happier and friendlier for a limited period!
Death to all 4 letter abbreviations starting with P!

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

Reply via email to