LuaSandbox::registerLibrary

(PECL luasandbox >= 1.0.0)

LuaSandbox::registerLibrary将一组 PHP 函数注册为 Lua 库

描述

public LuaSandbox::registerLibrary(string $libname, array $functions): void

将一组 PHP 函数注册为 Lua 库,以便 Lua 可以调用相关的 PHP 代码。

有关调用 Lua 函数和返回值的更多信息,请参见 LuaSandboxFunction::call().

参数

libname

库的名称。在 Lua 状态中,此名称的全局变量将设置为函数表。如果表已存在,则新函数将被添加到其中。

functions

一个 array,其中每个键都是一个函数名称,每个值都是一个对应的 PHP callable.

返回值

不返回值。

示例

示例 #1 从 Lua 注册 PHP 函数以调用

<?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