XE 템플릿에서 {@ 로 시작한 블럭 안에서 { } 괄호를 못쓰는 문제 해결
XE 템플릿에서 {@로 시작한 PHP 코드 블럭 안에서는 { } 괄호를 쓸 수가 없죠.
왜냐면 }가 용도에서 겹쳐서 충돌하기 때문입니다.
그래서 if 문 다음에 반드시 한줄만 코드를 배치할 수 있는등 꽤 제한이 심한데
이걸 해결하는 방법이 있더군요.
php 원래 문법 중에서 이런게 있었습니다.
if ( ... ):
...
elseif:
...
else:
....
endif
신기한 문법이죠?
이게 원래 PHP도 HTML 템플릿으로 쓰라고 만든 언어라서
<?php ?> 이거 사이에 코드를 끼워서 쓰게 되어있잖습니까?
그때 { }가 있으면 불편하니까 추가로 만든 대체 문법이라고 합니다.
{ } 없이 블록을 쓸 수 있게 해주는거죠.
이 문법이 for나 while 등에도 되는지는 잘 모르겠습니다. 되면 좋을텐데...
http://daplus.net/php-if-%EC%99%80-if-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90-endif/
댓글 1
for($i = 0;$i < 10;$i++):
~
endfor;
foreach($array as $value):
~
endforeach;
while($i < 10):
~
endwhile;
당연히 있습니다.
name():
body;
endname;
정도 규칙으로 볼수 있겠습니다.