diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/reflection/php_reflection.c | 34 | ||||
-rw-r--r-- | ext/reflection/tests/ReflectionExtension_isPersistant.phpt | 11 | ||||
-rw-r--r-- | ext/reflection/tests/ReflectionExtension_isTemporary.phpt | 11 |
3 files changed, 56 insertions, 0 deletions
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-- +<?php +$obj = new ReflectionExtension('reflection'); +var_dump($obj->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-- +<?php +$obj = new ReflectionExtension('reflection'); +var_dump($obj->isTemporary()); +?> +==DONE== +--EXPECT-- +bool(false) +==DONE== |