LuaSandbox LuaSandbox::registerLibrary

(PECL luasandbox >= 1.0.0)

LuaSandbox::registerLibrary — PHP 함수 세트를 Lua 라이브러리로 등록


설명

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

Lua가 관련 PHP 코드를 호출할 수 있도록 PHP 함수 세트를 Lua 라이브러리로 등록합니다.

Lua 함수 및 반환 값 호출에 대한 자세한 내용은 LuaSandboxFunction::call()을 참조하십시오.


매개변수

libname
라이브러리의 이름입니다. Lua 상태에서 이 이름의 전역 변수는 함수 테이블로 설정됩니다. 테이블이 이미 있는 경우 새 함수가 테이블에 추가됩니다.
functions
각 키는 함수 이름이고 각 값은 해당 PHP callable인 배열입니다.

반환 값

값이 반환되지 않습니다.


Examples

예제 #1 Lua에서 호출할 PHP 함수 등록

                  
<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// Register some functions in the Lua environment

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" );
    }
] );

?>
                  
                

기타