LonghornPHP 2026

Предопределённые константы

Следующие константы определяются модулем и доступны, только если модуль либо собрали в 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.

Добавить

Примечания пользователей 1 note

up
0
ASchmidt at Anamera dot net
8 years ago
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 );
To Top