PHP 8.0.24 Released!

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

User Contributed Notes

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