2024 日本 PHP 研討會

預定義常數

以下常數由此擴充功能定義,並且只有在擴充功能已編譯到 PHP 中或在執行階段動態載入時才會可用。

以下操作碼在 uopz 5.0.0 之前的版本中被定義為常數

ZEND_EXIT (整數)
由 exit() 和 die() 呼叫,不接收任何參數。返回布林值 true 表示退出,false 表示繼續執行。
ZEND_NEW (int)
由物件建構時呼叫,接收被建立物件的類別作為唯一參數。
ZEND_THROW (int)
由 throw 建構式呼叫,接收被拋出例外物件的類別作為唯一參數。
ZEND_FETCH_CLASS (int)
在組合時呼叫,接收被擷取的類別名稱作為唯一參數。
ZEND_ADD_TRAIT (int)
在組合時呼叫,接收要添加 trait 的類別作為第一個參數,trait 的名稱作為第二個參數。
ZEND_ADD_INTERFACE (int)
在組合時呼叫,接收要添加介面的類別作為第一個參數,介面的名稱作為第二個參數。
ZEND_INSTANCEOF (int)
由 instanceof 運算子呼叫,接收被驗證的物件作為第一個參數,該物件應屬的類別名稱作為第二個參數。

以下常數控制使用者處理程式被呼叫後虛擬機的行為,請務必小心!這些常數已從 uopz 5.0.0 版移除。

ZEND_USER_OPCODE_CONTINUE (int)
前進一個操作碼並繼續執行。
ZEND_USER_OPCODE_ENTER (int)
進入新的 op_array 而不遞迴。
ZEND_USER_OPCODE_LEAVE (int)
返回同一個執行器中呼叫的 op_array。
ZEND_USER_OPCODE_DISPATCH (int)
分派到原始的操作碼處理程式。
ZEND_USER_OPCODE_DISPATCH_TO (int)
分派到特定的處理程式(與 ZEND 操作碼常數進行 OR 運算)。
ZEND_USER_OPCODE_RETURN (int)
從執行器退出(從函式返回)。

以下修飾符由 uopz 註冊為常數。

ZEND_ACC_PUBLIC (int)
將函式標記為公開,預設值。
ZEND_ACC_PROTECTED (int)
將函式標記為保護。
ZEND_ACC_PRIVATE (int)
將函式標記為私有。
ZEND_ACC_STATIC (整數 (int))
將函式標記為靜態 (static)。
ZEND_ACC_FINAL (整數 (int))
將函式標記為最終 (final)。
ZEND_ACC_ABSTRACT (整數 (int))
將函式標記為抽象 (abstract)。
ZEND_ACC_CLASS (整數 (int))
為了一致性而註冊的虛擬常數,預設的類別項目類型。uopz 5.0.0 版後移除。
ZEND_ACC_INTERFACE (整數 (int))
將類別標記為介面 (interface)。uopz 5.0.0 版後移除。
ZEND_ACC_TRAIT (整數 (int))
將類別標記為特性 (trait)。uopz 5.0.0 版後移除。
ZEND_ACC_FETCH (整數 (int))
僅用於獲取標記。uopz 5.0.0 版後移除。

新增註解

使用者貢獻的註解 1 則註解

0
ASchmidt at Anamera dot net
6 年前
至少在 uopz 5.02 和 PHP 7.2 (Win64) 中,沒有定義 ZEND_ACC_FETCH 常數,而其他常數則有定義。

您可以使用

if ( !defined( 'ZEND_ACC_FETCH' ) )
define( 'ZEND_ACC_FETCH', PHP_INT_MAX );
To Top