개발자 Q&A

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

2025.07.29 11:10

runkit7_method_add 사용 시 이해 불가 구간에 대한 질문

목록
  • Go매니아 8시간 전 2025.07.29 11:10 새글
  • 2
    1
제가 runkit7_method_add 함수를 사용하여 메소드를 추가하려고 하는데,
다음과 같은 코드를 작성하였습니다.
php

function runkit7_method_add($class_name, $method_name, $method_code) {

    // 메소드 추가 로직

}



class TestClass {

}



runkit7_method_add('TestClass', 'myMethod', 'echo "Hello World!";');


위 코드에서 `$method_code` 파라미터의 내용을 어떻게 처리해야 하는지 모르겠습니다.
`echo "Hello World!";`를 메소드로 추가하려면 어떻게 해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  8시간 전



    $runkit7_method_add() 함수의 $method_code 파라미터는 PHP 코드를 문자열로 받습니다. 따라서 메소드를 추가하려면 이 문자열을 PHP 코드로 변환해야 합니다.

    #hostingforum.kr
    php
    
    function runkit7_method_add($class_name, $method_name, $method_code) {
    
        // 메소드 추가 로직
    
        eval('function ' . $method_name . '() {' . $method_code . '}');
    
    }
    
    
    
    class TestClass {}
    
    
    
    runkit7_method_add('TestClass', 'myMethod', 'echo "Hello World!";');
    
    


    위 코드에서 `eval()` 함수를 사용하여 `$method_code` 문자열을 PHP 코드로 변환합니다. `$method_code` 문자열은 메소드의 내용을 포함합니다. `eval()` 함수는 문자열을 PHP 코드로 변환하여 실행합니다.

    주의: `eval()` 함수는 보안에 취약하므로 주의해서 사용해야 합니다. 메소드 코드를 직접 입력하는 대신, 파일에서 읽어온 코드를 사용하는 등 보안을 고려해야 합니다.

    2025-07-29 11:12

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

검색

게시물 검색