
LuaSandbox::wrapPhpFunction을 사용하여 PHP 함수를 Lua로 호출할 때, PHP 함수의 매개변수를 Lua에서 전달하는 방식은 다음과 같습니다.
1. PHP 함수가 여러 매개변수를 받을 수 있습니다. 이 때, Lua에서 매개변수를 전달할 때는 순서대로 전달해야 합니다.
2. 예를 들어, PHP 함수가 `add($a, $b)`와 같이 두 개의 매개변수를 받는다고 가정하면, Lua에서 이 함수를 호출하기 위해 다음과 같은 코드를 작성할 수 있습니다.
#hostingforum.kr
lua
local function add(a, b)
return sandbox:wrapPhpFunction("add", a, b)
end
위 코드에서 `sandbox:wrapPhpFunction("add", a, b)`는 PHP 함수 `add($a, $b)`를 호출하고, `a`와 `b`를 매개변수로 전달합니다.
3. 만약 PHP 함수가 여러 매개변수를 받을 수 있고, 매개변수의 순서가 중요하지 않다면, Lua에서 매개변수를 전달할 때는 `table`을 사용할 수 있습니다.
#hostingforum.kr
lua
local function add(params)
return sandbox:wrapPhpFunction("add", params.a, params.b)
end
위 코드에서 `params`는 `table`입니다. 이 `table`에 `a`와 `b`를 추가하면, PHP 함수 `add($a, $b)`를 호출할 수 있습니다.
4. 만약 PHP 함수가 여러 매개변수를 받을 수 있고, 매개변수의 순서가 중요하지 않으며, 매개변수가 여러 개일 때, Lua에서 매개변수를 전달할 때는 `table`을 사용할 수 있습니다. 또한, 매개변수의 이름을 지정할 수 있습니다.
#hostingforum.kr
lua
local function add(params)
return sandbox:wrapPhpFunction("add", params.a, params.b, params.c)
end
위 코드에서 `params`는 `table`입니다. 이 `table`에 `a`, `b`, `c`를 추가하면, PHP 함수 `add($a, $b, $c)`를 호출할 수 있습니다.
5. 만약 PHP 함수가 여러 매개변수를 받을 수 있고, 매개변수의 순서가 중요하지 않으며, 매개변수가 여러 개일 때, Lua에서 매개변수를 전달할 때는 `table`을 사용할 수 있습니다. 또한, 매개변수의 이름을 지정할 수 있습니다. 이 때, 매개변수의 이름을 지정할 때는 `table`의 키를 사용할 수 있습니다.
#hostingforum.kr
lua
local function add(params)
return sandbox:wrapPhpFunction("add", params["a"], params["b"], params["c"])
end
위 코드에서 `params`는 `table`입니다. 이 `table`에 `a`, `b`, `c`를 추가하면, PHP 함수 `add($a, $b, $c)`를 호출할 수 있습니다.
2025-07-31 20:27