(PECL luasandbox >= 1.0.0)
LuaSandbox::loadString β ΠΠ°Π³ΡΡΠΆΠ°Π΅Ρ ΠΊΠΎΠ΄ Lua Π² ΡΡΠ΅Π΄Ρ Lua
ΠΠ°Π³ΡΡΠΆΠ°Π΅Ρ ΠΊΠΎΠ΄ Lua Π² ΡΡΠ΅Π΄Ρ Lua.
ΠΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Lua loadstring().
codechunkNameΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ LuaSandboxFunction, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ $code.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠ΄Π° Π² Lua
<?php
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ LuaSandbox
$sandbox = new LuaSandbox();
// ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠ΄Π°
$function = $sandbox->loadString(
<<<CODE
return "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!"
CODE
);
// ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
var_dump( $function->call() );
?>Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
array(1) {
[0]=>
string(12) "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!"
}