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

# LuaSandbox::registerLibrary

(PECL luasandbox >= 1.0.0)

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

### Описание

public function 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( "Что-то пошло не так" );
        }
    ] );

    ?>

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

- LuaSandbox::loadString() - Загружает код Lua в среду Lua
- LuaSandbox::wrapPhpFunction() - Оборачивает вызываемый PHP-объект в LuaSandboxFunction

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open