LuaSandbox::registerLibrary

(PECL luasandbox >= 1.0.0)

LuaSandbox::registerLibraryEnregistre un ensemble de fonctions PHP en tant que bibliothèque Lua

Description

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

Enregistre un ensemble de fonctions PHP en tant que bibliothèque Lua, de sorte que Lua puisse appeler le code PHP correspondant.

Pour plus d'informations sur l'appel des fonctions Lua et les valeurs de retour, voir LuaSandboxFunction::call().

Liste de paramètres

libname

Le nom de la bibliothèque. Dans l'état Lua, la variable globale de ce nom sera définie sur la table des fonctions. Si la table existe déjà, les nouvelles fonctions y seront ajoutées.

functions

Un array, où chaque clé est un nom de fonction, et chaque valeur est un callable PHP correspondant.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Enregistrement de fonctions PHP à appeler depuis Lua

<?php

// créer un nouveau LuaSandbox
$sandbox = new LuaSandbox();

// Enregistrer quelques fonctions dans l'environnement 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" );
}
] );

?>

Voir aussi

add a note

User Contributed Notes

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