PHP Conference Japan 2024

LuaSandbox::registerLibrary

(PECL luasandbox >= 1.0.0)

LuaSandbox::registerLibrary將一組 PHP 函式註冊為 Lua 函式庫

說明

public LuaSandbox::registerLibrary(字串 $libname, 陣列 $functions): void

將一組 PHP 函式註冊為 Lua 函式庫,以便 Lua 可以呼叫相關的 PHP 程式碼。

關於呼叫 Lua 函式和傳回值的更多資訊,請參閱 LuaSandboxFunction::call()

參數

libname

函式庫的名稱。在 Lua 狀態中,此名稱的全局變數將被設定為函數表格。如果表格已存在,新的函數將會被添加到其中。

函數

一個陣列,其中每個鍵值都是函數名稱,而每個值都是對應的 PHP 可呼叫物件

返回值

無返回值。

範例

範例 #1 註冊 PHP 函數以供 Lua 呼叫

<?php

// 建立一個新的 LuaSandbox
$sandbox = new LuaSandbox();

// 在 Lua 環境中註冊一些函數

function frobnosticate( $v ) {
return [
$v + 42 ];
}

$sandbox->registerLibrary( 'php', [
'frobnosticate' => 'frobnosticate',
'output' => function ( $string ) {
echo
"$string\n";
},
'error' => function () {
throw new
LuaSandboxRuntimeError( "Something is wrong" );
}
] );

?>

參見

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top