PHP Conference Kansai 2025

LuaSandbox::registerLibrary

(PECL luasandbox >= 1.0.0)

LuaSandbox::registerLibraryRegistra un conjunto de funciones PHP como una biblioteca Lua

Descripción

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

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().

Parámetros

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.

Valores devueltos

No devuelve ningún valor.

Ejemplos

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" );
}
] );

?>

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top