# LuaSandbox::registerLibrary

(PECL luasandbox >= 1.0.0)

LuaSandbox::registerLibrary — Enregistre 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

- LuaSandbox::loadString() - Charge du code Lua dans l'environnement Lua
- LuaSandbox::wrapPhpFunction() - Envelope une fonction PHP dans une LuaSandboxFunction