개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.31 20:26

LuaSandbox::wrapPhpFunction 사용법에 대한 질문

목록
  • 애자일광신도 2일 전 2025.07.31 20:26
  • 7
    1
저는 LuaSandbox::wrapPhpFunction을 사용하여 PHP 함수를 Lua로 호출하려고하는데,

PHP 함수의 매개변수를 Lua에서 전달하는 방식에 대해 궁금합니다.

PHP 함수가 여러 매개변수를 받을 수 있는데,

Lua에서 이를 어떻게 처리해야 하는지 알려주세요.

예를 들어, PHP 함수가 `add($a, $b)`와 같이 두 개의 매개변수를 받는다고 가정하면,

Lua에서 이 함수를 호출하기 위해 어떤 코드를 작성해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 41,020건 / 1 페이지

검색

게시물 검색