eval — 문자열을 PHP 코드로 평가하기 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

eval — 문자열을 PHP 코드로 평가하기 정보

PHP eval — 문자열을 PHP 코드로 평가하기

본문

eval — 문자열을 PHP 코드로 평가하기

 

설명 ¶

 

mixed eval ( string $code )

 

주어진 코드를 PHP로 평가합니다.

 

Caution

 

eval () 언어 구조는 임의의 PHP 코드를 실행할 수 있으므로 매우 위험합니다. 따라서 그 사용은 권장되지 않습니다. 이 구성을 사용하는 것 외에 다른 옵션이 없다는 것을주의 깊게 확인한 경우, 사전에 적절하게 유효성을 검사하지 않은 상태에서 사용자가 제공 한 데이터를 전달하지 않도록 특히주의하십시오.

 

 

인수 ¶

code

유효한 PHP 코드를 평가할 수 있습니다.

 

PHP 태그를 열고 닫을 때 코드를 감싸서는 안됩니다 (예 : 'echo'). "; ' '대신 <? php echo "안녕하세요!"; ?> '. 적절한 PHP 태그를 사용하여 PHP 모드를 종료하고 다시 시작할 수 있습니다. 'echo "PHP 모드에서!"; ?> HTML 모드에서! <? php echo "PHP 모드로 돌아 가기!";

 

그 외에도 전달 된 코드는 유효한 PHP 여야합니다. 여기에는 모든 문장을 세미콜론을 사용하여 적절하게 종료해야합니다. 'echo "안녕하세요!"'예를 들어 구문 분석 오류가 발생하는 반면 'echo "안녕하세요!";' 작동합니다.

 

return 문은 코드 평가를 즉시 종료합니다.

 

이 코드는 eval ()을 호출하는 코드의 범위 내에서 실행됩니다. 따라서 eval () 호출에서 정의되거나 변경된 변수는 종료 된 후에도 계속 표시됩니다.

 

반환값 ¶

 

eval ()은 평가 된 코드에서 return이 호출되지 않으면 NULL을 반환하며,이 경우 return에 전달 된 값이 반환됩니다. PHP 7에서 평가 된 코드에 구문 분석 오류가 있으면 eval ()은 ParseError 예외를 throw합니다. PHP 7 이전에는이 ​​경우 eval ()이 FALSE를 반환했으며 다음 코드의 실행이 정상적으로 계속되었습니다. set_error_handler ()를 사용하여 eval ()에서 구문 분석 오류를 포착하는 것은 불가능합니다.

 

예제 ¶

 

 

<?php

$string = 'cup';

$name = 'coffee';

$str = 'This is a $string with my $name in it.';

echo $str. "\n";

eval("\$str = \"$str\";");

echo $str. "\n";

?>

위 예제의 출력:

 

This is a $string with my $name in it.

This is a cup with my coffee in it.

추천
0

댓글 0개

전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT