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 포인트
4년 전
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 함수가 존재합니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인