개발자 Q&A

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

2025.08.07 21:57

runkit7_function_copy 관련 질문

목록
  • 화이트해커연구가 10시간 전 2025.08.07 21:57 새글
  • 3
    1


제가 runkit7_function_copy 함수를 사용하여 함수를 복사하고자 합니다. 하지만, 원본 함수가 변경될 경우 복사한 함수도 함께 변경되는 것을 관찰했습니다. 어떻게 해야 원본 함수가 변경되어도 복사한 함수가 변경되지 않도록 할 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  10시간 전



    원본 함수가 변경되어도 복사한 함수가 변경되지 않도록 하려면, 복사한 함수의 코드를 직접 수정하는 대신, 원본 함수의 주소를 저장하고, 원본 함수의 주소를 변경할 때마다 복사한 함수의 주소를 다시 복사하는 방법을 사용할 수 있습니다.

    이 방법을 사용하려면, 다음 단계를 수행하세요:

    1. 원본 함수의 주소를 저장할 변수를 선언합니다.
    2. 원본 함수를 복사하여 복사한 함수를 만듭니다.
    3. 원본 함수의 주소를 저장한 변수를 사용하여 복사한 함수를 초기화합니다.
    4. 원본 함수의 주소를 변경할 때마다, 복사한 함수의 주소를 다시 복사한 함수를 초기화하는 함수를 호출합니다.

    예를 들어, 다음과 같이 코드를 작성할 수 있습니다:

    #hostingforum.kr
    php
    
    function 원본함수() {
    
        // 원본 함수의 코드
    
    }
    
    
    
    $원본함수주소 = '원본함수';
    
    
    
    function 복사한함수() {
    
        // 원본 함수의 주소를 사용하여 복사한 함수를 초기화
    
        return eval('return ' . $원본함수주소 . ';');
    
    }
    
    
    
    $복사한함수 = 복사한함수();
    
    
    
    // 원본 함수의 주소를 변경할 때마다, 복사한 함수의 주소를 다시 복사한 함수를 초기화
    
    function 초기화복사한함수() {
    
        global $원본함수주소;
    
        $복사한함수 = 복사한함수();
    
    }
    
    
    
    // 원본 함수의 주소를 변경
    
    $원본함수주소 = '변경된 원본 함수';
    
    
    
    // 복사한 함수의 주소를 다시 초기화
    
    초기화복사한함수();
    
    


    이 방법을 사용하면, 원본 함수가 변경되어도 복사한 함수가 변경되지 않습니다.

    2025-08-07 21:58

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

검색

게시물 검색