Предопределённые константы
Модуль определяет следующие константы
и открывает доступ к ним только тогда, когда модуль либо собрали в PHP,
либо динамически загрузили при выполнении кода.
Следующие опкоды определяются как константы с помощью uopz до версии 5.0.0:
-
ZEND_EXIT
(int)
-
Вызывается с помощью exit() and die(), не принимает аргументов. Возвращает логический
true
для выхода, false
для продолжения
-
ZEND_NEW
(int)
-
Вызывается конструкцией объекта, получает класс создаваемого объекта в качестве единственного аргумента
-
ZEND_THROW
(int)
-
Вызывается конструкцией throw, получает класс выбрасываемого исключения в качестве единственного аргумента
-
ZEND_FETCH_CLASS
(int)
-
Вызывается во время композиции, получает имя получаемого в качестве единственного аргумента
-
ZEND_ADD_TRAIT
(int)
-
Вызывается во время композиции, получает класс добавляемого трейта первым аргументом, и имя трейта в качестве второго аргумента
-
ZEND_ADD_INTERFACE
(int)
-
Вызывается во время композиции, получает класс добавляемого интерфейса первым аргументом, и имя интерфейса в качестве второго аргумента
-
ZEND_INSTANCEOF
(int)
-
Вызывается оператором instanceof, получает проверяемый объект первым аргументом и имя класса, который должен быть в объекте в качестве второго аргумента
Следующие константы управляют поведением виртуальной машины после вызова обработчика пользователя, будьте предельно осторожны!
Эти константы удалены с uopz версии 5.0.0.
-
ZEND_USER_OPCODE_CONTINUE
(int)
-
Продвинуть 1 опкод и продолжить
-
ZEND_USER_OPCODE_ENTER
(int)
-
Ввести новый new op_array без рекурсии
-
ZEND_USER_OPCODE_LEAVE
(int)
-
Вернуть вызывающий op_array внутри того же исполнителя
-
ZEND_USER_OPCODE_DISPATCH
(int)
-
Отправить в исходный обработчик опкода
-
ZEND_USER_OPCODE_DISPATCH_TO
(int)
-
Отправить на конкретный обработчик (посредством бинарного OR с константой опкода ZEND)
-
ZEND_USER_OPCODE_RETURN
(int)
-
Выйти из исполнителя (возврат из функции)
Следующие модификаторы регистрируются как константы uopz
-
ZEND_ACC_PUBLIC
(int)
-
Отметить функцию как общедоступную, по умолчанию
-
ZEND_ACC_PROTECTED
(int)
-
Отметить функцию как защищённую
-
ZEND_ACC_PRIVATE
(int)
-
Отметить функцию как закрытую
-
ZEND_ACC_STATIC
(int)
-
Отметить функцию как статическую
-
ZEND_ACC_FINAL
(int)
-
Отметить функцию как окончательную
-
ZEND_ACC_ABSTRACT
(int)
-
Отметить функцию как абстрактную
-
ZEND_ACC_CLASS
(int)
-
Фиктивная регистрация для согласованности, запись класса по умолчанию.
Удалено в uopz 5.0.0.
-
ZEND_ACC_INTERFACE
(int)
-
Отметить класс как интерфейс. Удалено в uopz 5.0.0.
-
ZEND_ACC_TRAIT
(int)
-
Отметить класс как трейт. Удалено в uopz 5.0.0.
-
ZEND_ACC_FETCH
(int)
-
Используется только для получения флагов. Удалено в uopz 5.0.0.