(PECL luasandbox >= 1.0.0)
LuaSandbox::registerLibrary — Registra un conjunto de funciones PHP como una biblioteca Lua
Registra un conjunto de funciones PHP como una biblioteca Lua, de modo que Lua pueda llamar al código PHP correspondiente.
Para más información sobre la llamada de funciones Lua y los valores de retorno, ver LuaSandboxFunction::call().
libname
El nombre de la biblioteca. En el estado Lua, la variable global de este nombre se definirá en la tabla de funciones. Si la tabla ya existe, las nuevas funciones se añadirán a ella.
functions
Un array, donde cada clave es un nombre de función, y cada valor es un callable PHP correspondiente.
No devuelve ningún valor.
Ejemplo #1 Registro de funciones PHP para ser llamadas desde Lua
<?php
// crear un nuevo LuaSandbox
$sandbox = new LuaSandbox();
// Registrar algunas funciones en el entorno 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" );
}
] );
?>