From: Johannes Schlüter Date: Tue, 30 Mar 2010 20:50:42 +0000 (+0000) Subject: Add ReflectionExtension::isTemporary() and ReflectionExtension::isPersistent(). X-Git-Tag: php-5.4.0alpha1~191^2~1830 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=347e2bce22c9240995b1d2b609c1bccde4f36740;p=php Add ReflectionExtension::isTemporary() and ReflectionExtension::isPersistent(). --- diff --git a/NEWS b/NEWS index 304ce05529..784177b8db 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,9 @@ PHP NEWS - Added Tokyo Cabinet abstract DB support to ext/dba. (Michael Maclean) - Added Jenkins's one-at-a-time hash support to ext/hash. (Martin Jansen) - Added FNV-1 hash support to ext/hash. (Michael Maclean) +- Added ReflectionExtension::isTemporary() and + ReflectionExtension::isPersistent(). (Johannes) + - default_charset if not specified is now UTF-8 instead of ISO-8859-1. (Rasmus) ?? ??? 20??, PHP 5.3.3 diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index d1f90e3455..66015707aa 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -5014,6 +5014,38 @@ ZEND_METHOD(reflection_extension, info) } /* }}} */ +/* {{{ proto public void ReflectionExtension::isPersistent() + Returns whether this extension is persistent */ +ZEND_METHOD(reflection_extension, isPersistent) +{ + reflection_object *intern; + zend_module_entry *module; + + if (zend_parse_parameters_none() == FAILURE) { + return; + } + GET_REFLECTION_OBJECT_PTR(module); + + RETURN_BOOL(module->type == MODULE_PERSISTENT); +} +/* }}} */ + +/* {{{ proto public void ReflectionExtension::isTemporary() + Returns whether this extension is temporary */ +ZEND_METHOD(reflection_extension, isTemporary) +{ + reflection_object *intern; + zend_module_entry *module; + + if (zend_parse_parameters_none() == FAILURE) { + return; + } + GET_REFLECTION_OBJECT_PTR(module); + + RETURN_BOOL(module->type == MODULE_TEMPORARY); +} + + /* {{{ method tables */ static const zend_function_entry reflection_exception_functions[] = { {NULL, NULL, NULL} @@ -5376,6 +5408,8 @@ static const zend_function_entry reflection_extension_functions[] = { ZEND_ME(reflection_extension, getClassNames, arginfo_reflection__void, 0) ZEND_ME(reflection_extension, getDependencies, arginfo_reflection__void, 0) ZEND_ME(reflection_extension, info, arginfo_reflection__void, 0) + ZEND_ME(reflection_extension, isPersistent, arginfo_reflection__void, 0) + ZEND_ME(reflection_extension, isTemporary, arginfo_reflection__void, 0) {NULL, NULL, NULL} }; /* }}} */ diff --git a/ext/reflection/tests/ReflectionExtension_isPersistant.phpt b/ext/reflection/tests/ReflectionExtension_isPersistant.phpt new file mode 100644 index 0000000000..a78a8bbc3d --- /dev/null +++ b/ext/reflection/tests/ReflectionExtension_isPersistant.phpt @@ -0,0 +1,11 @@ +--TEST-- +ReflectionExtension::isPersistent() +--FILE-- +isPersistent()); +?> +==DONE== +--EXPECT-- +bool(true) +==DONE== diff --git a/ext/reflection/tests/ReflectionExtension_isTemporary.phpt b/ext/reflection/tests/ReflectionExtension_isTemporary.phpt new file mode 100644 index 0000000000..be97641be1 --- /dev/null +++ b/ext/reflection/tests/ReflectionExtension_isTemporary.phpt @@ -0,0 +1,11 @@ +--TEST-- +ReflectionExtension::isTemporary() +--FILE-- +isTemporary()); +?> +==DONE== +--EXPECT-- +bool(false) +==DONE==