At least with uops 5.02 and PHP 7.2 (Win64), the constant ZEND_ACC_FETCH is not defined - while others are.
You can use:
if ( !defined( 'ZEND_ACC_FETCH' ) )
define( 'ZEND_ACC_FETCH', PHP_INT_MAX );Следующие константы определяются модулем и доступны, только если модуль либо собрали в 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.
At least with uops 5.02 and PHP 7.2 (Win64), the constant ZEND_ACC_FETCH is not defined - while others are.
You can use:
if ( !defined( 'ZEND_ACC_FETCH' ) )
define( 'ZEND_ACC_FETCH', PHP_INT_MAX );