LuaSandbox::registerLibrary

(PECL luasandbox >= 1.0.0)

LuaSandbox::registerLibraryРегистрирует набор PHP-функций как библиотеку Lua

Описание

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

Регистрирует набор PHP-функций как библиотеку Lua, чтобы Lua мог вызывать соответствующий код PHP.

Для получения дополнительной информации о вызове функций Lua и возвращаемых значениях смотрите LuaSandboxFunction::call().

Список параметров

libname

Название библиотеки. В состоянии Lua глобальная переменная с этим именем будет установлена в таблицу функций. Если таблица уже существует, к ней будут добавлены новые функции.

functions

Массив (array), где каждый ключ - это имя функции, а каждое значение - это соответствующий вызываемый (callable) PHP-код.

Возвращаемые значения

Функция не возвращает значения после выполнения.

Примеры

Пример #1 Регистрация PHP-функций для вызова из Lua

<?php

// создание нового LuaSandbox
$sandbox = new LuaSandbox();

// регистрация некоторых функций в среде Lua

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

$sandbox->registerLibrary( 'php', [
'frobnosticate' => 'frobnosticate',
'output' => function ( $string ) {
echo
"$string\n";
},
'error' => function () {
throw new
LuaSandboxRuntimeError( "Что-то пошло не так" );
}
] );

?>

Смотрите также

add a note add a note

User Contributed Notes

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