LuaSandbox::registerLibrary

(PECL luasandbox >= 1.0.0)

LuaSandbox::registerLibraryRegistra um conjunto de funções PHP como uma biblioteca Lua

Descrição

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

Registra um conjunto de funções PHP como uma biblioteca Lua, para que Lua possa chamar o código PHP relevante.

Para mais informações sobre como chamar funções Lua e os valores de retorno, veja LuaSandboxFunction::call().

Parâmetros

libname

O nome da biblioteca. No estado Lua, a variável global deste nome será definida para a tabela de funções. Se a tabela já existir, as novas funções serão adicionadas a ela.

functions

Um array, onde cada chave é um nome de função e cada valor é um callable PHP correspondente.

Valor Retornado

Nenhum valor é retornado.

Exemplos

Exemplo #1 Registrando funções PHP para chamar a partir de Lua

<?php

// Cria um novo LuaSandbox
$sandbox = new LuaSandbox();

// Registra algumas funções no ambiente Lua

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

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

?>

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top