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" );
}
] );
?>
기타
- LuaSandbox::loadString() - Lua 환경에 Lua 코드 로드
- LuaSandbox::wrapPhpFunction() - LuaSandboxFunction에서 PHP 호출 가능 래핑