runkit_constant_remove
(PECL runkit >= 0.7.0)
runkit_constant_remove — Remove/Delete an already defined constant
Description
bool runkit_constant_remove
( string
$constname
)Parameters
-
constname
-
Name of constant to remove. Either a string indicating a global constant, or classname::constname indicating a class constant.
Return Values
Returns TRUE
on success or FALSE
on failure.
See Also
- define() - Defines a named constant
- runkit_constant_add() - Similar to define(), but allows defining in class definitions as well
- runkit_constant_redefine() - Redefine an already defined constant
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Изменение поведения PHP
- runkit
- Функция Runkit_Sandbox() - Класс Runkit Sandbox -- это виртуальная машина PHP
- Функция Runkit_Sandbox_Parent() - Класс анти-песочницы для Runkit
- runkit_class_adopt
- runkit_class_emancipate
- runkit_constant_add
- runkit_constant_redefine
- runkit_constant_remove
- runkit_function_add
- runkit_function_copy
- runkit_function_redefine
- runkit_function_remove
- runkit_function_rename
- runkit_import
- runkit_lint_file
- runkit_lint
- runkit_method_add
- runkit_method_copy
- runkit_method_redefine
- runkit_method_remove
- runkit_method_rename
- runkit_return_value_used
- runkit_sandbox_output_handler
- runkit_superglobals
Коментарии
At least under PHP 5.5.18 use of this function followed by constant redefinition like:
runkit_constant_remove("CONSTANT");
define("CONSTANT", "value");
may cause the constant to go into inconsistent state: from run-to-run var_dump(CONSTANT); may return NULL while $s = CONSTANT; will cause "Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 1714381161 bytes)" (note that 1G of memory configured and it is still not enough). On some runs code behaves as expected.
I believe runkit doing some low level manipulation with pointers and perhaps it is just some form of bug. Just stay wary: fiddling around with PHP on low level likely to cause unexpected results.