테스트 사이트 - 개발 중인 베타 버전입니다

get_encrypt_string 함수 안에 call_user_func 함수 질문 채택완료

그누보드이해하기 4년 전 조회 3,517

</p>

<p>function get_encrypt_string($str)</p>

<p>{</p>

<p>    if(defined('G5_STRING_ENCRYPT_FUNCTION') && G5_STRING_ENCRYPT_FUNCTION) {</p>

<p>        $encrypt = call_user_func(G5_STRING_ENCRYPT_FUNCTION, $str);</p>

<p>    } else {</p>

<p>        $encrypt = sql_password($str);</p>

<p>    }</p>

<p> </p>

<p>    return $encrypt;</p>

<p>}</p>

<p>

이 코드에서 call_user_func 함수 부분이 이해가 안갑니다.

call_user_func 함수는

첫번 째 매개변수로 지정된 것을 호출하고 (사용자 정의 함수)

두번 째 매개변수는 인자로 지정하는데

 

코드에서 call_user_func 함수 첫번 째 매개변수는 'G5_STRING_ENCRYPT_FUNCTION' 입니다.

G5_STRING_ENCRYPT_FUNCTION 는 상수는 지정이 되어있어도 함수는 지정되어있지 않습니다..

혹시 상수도 변경하는건가 싶어서 테스트 해봤는데 값이 안바뀌는거 같습니다.

call_user_func 함수 부분은 무엇을 의미하는건가요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

https://www.php.net/manual/en/function.call-user-func.php">https://www.php.net/manual/en/function.call-user-func.php

 

이름 문자열을 통한 함수를 호출하는 내장함수입니다.

 

G5_STRING_ENCRYPT_FUNCTION 값이 create_hash 이므로

 

create_hash 함수를 호출할것입니다.

 

lib/pbkdf2.compat.php

 

=> 해당 화일에 create_hash 함수가 존재합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

4년 전

도움되었습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인