XE 에서 일반 PHP 구문 사용방법
2012.07.03 21:57
출처 : http://www.xpressengine.com/index.php?mid=tip&document_srl=13336987
일반 PHP 구문에서 정의된 변수값을 XE 템플릿에서 사용하는 방법입니다.
<?php
$__Context->aa;
?>{$aa}
XE 템플릿에서 정의된 변수를 일반 PHP 구문에서 사용하는 방법입니다.
{@ $aa = 1; }
<?php
echo $__Context->aa;
?>
즉, 일반 PHP구문에서는 "$__Context->변수명" 를 사용해서 XE 템플릿에서 정의된 변수를 사용할 수 있습니다.
$_SERVER 나 $_SESSION 과 같은 PHP 함수를 XE 에서 바로 사용하는 방법입니다.
{@
eval(base64_decode('JF9fQ29udGV4dC0+X1NFU1NJT04gPSAmJF9TRVNTSU9OOw==')); //$_SESSION
eval(base64_decode('JF9fQ29udGV4dC0+X1NFUlZFUiA9ICYkX1NFUlZFUjs='));//$_SERVER
}
즉
base64_decode('JF9fQ29udGV4dC0+X1NFU1NJT04gPSAmJF9TRVNTSU9OOw==') 을 출력해 보면,
$__Context->_SESSION = &$_SESSION; 으로 출력되고
base64_decode('JF9fQ29udGV4dC0+X1NFUlZFUiA9ICYkX1NFUlZFUjs=') 을 출력해 보면
$__Context->_SERVER = &$_SERVER; 으로 출력됩니다.
이 방법을 써야하는 이유중에 하나는 호스팅 서버환경에 따라서 html 페이지에서 "<?php" 를 사용할 수 없는 곳이 있습니다.
그런경우 위의 방법으로 사용할 수 있습니다.
결국은 XE 페이지에서 PHP 구문 사용방법은 "$__Context->변수명" 으로 정의를 하고 "$변수명" 으로 사용하면 됩니다.