PHP8 runkit7_function_redefine — 將函數(shù)定義替換為新的實(shí)現(xiàn)

2023-09-22 16:34 更新

(PECL runkit7 >= Unknown)

runkit7_function_redefine — 將函數(shù)定義替換為新的實(shí)現(xiàn)

說明

runkit7_function_redefine(
    string $function_name,
    string $argument_list,
    string $code,
    bool $return_by_reference = null,
    string $doc_comment = null,
    string $return_type = ?,
    bool $is_strict = ?
): bool
runkit7_function_redefine(
    string $function_name,
    Closure $closure,
    string $doc_comment = null,
    string $return_type = ?,
    bool $is_strict = ?
): bool
注意: 默認(rèn)情況下,僅在用戶空間可刪除,重命名,或者修改函數(shù)。為了覆蓋內(nèi)部函數(shù),必須啟用 php.ini 中的 runkit.internal_override 設(shè)置。

參數(shù)

function_name

要重新定義的函數(shù)的名稱

argument_list

要由函數(shù)接受的新參數(shù)列表

code

新的代碼實(shí)現(xiàn)

closure

定義函數(shù)的閉包。

return_by_reference

該函數(shù)是否應(yīng)返回引用。

doc_comment

函數(shù)的文檔注釋。

return_type

函數(shù)的返回類型。

is_strict

函數(shù)是否表現(xiàn)得像在文件中聲明了 strict_types=1 一樣。

返回值

成功時(shí)返回 true, 或者在失敗時(shí)返回 false。

示例

示例 #1 A runkit7_function_redefine() example

<?php
function testme() {
echo "Original Testme Implementation\n";
}
testme();
runkit7_function_redefine('testme','','echo "New Testme Implementation\n";');
testme();
?>

以上示例會(huì)輸出:

Original Testme Implementation
New Testme Implementation

參見

  • runkit7_function_add() - 添加一個(gè)新函數(shù),類似于 create_function 
  • runkit7_function_copy() - 將函數(shù)復(fù)制到一個(gè)新的函數(shù)名稱 
  • runkit7_function_rename() - 更改函數(shù)的名稱 
  • runkit7_function_remove() - 移除函數(shù)定義 
  • runkit7_method_redefine() - 動(dòng)態(tài)更改給定方法的代碼


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)