대부분의 태그에 적용되지만, 추천하지 않습니다. XE 때부터 버그가 잦은 문법인데, 그렇다고 확 바꿔버리면 기존 스킨과 호환성이 깨지기 때문에 이러지도 못하고 저러지도 못하는 골칫덩이이거든요.
버그가 많이 발생하는 이유는 간단합니다. 아래의 "추천" 문법과 달리 cond="" 문법은 조건문이 시작하는 지점만 표시하고, 끝나는 지점을 표시하지 않기 때문입니다. 템플릿 엔진이 HTML에 대한 대략의 이해를 바탕으로 (그것도 HTML5가 아닌, 예전 XHTML 기준으로) 대강 추측하는 것인데, 태그 구조와 조건이 간단하다면 </div>가 어디 있는지 비교적 쉽게 찾을 수 있지만, 중간에 다른 태그가 많거나, 태그 비슷하게 생긴 내용을 출력하는 함수라도 끼어들면 그야말로 혼돈의 도가니가 되어 버립니다. 그래서 정확히 어떤 태그에 정상 작동을 보장한다고 말할 수조차 없습니다. 처음부터 총체적 난국이었고, 지금도 퇴출 0순위이며, 신규 코드에서는 사용을 고려할 가치가 없습니다.
강력 비추:
<div cond="조건">내용</div>
강력 추천:
<!--@if(조건)-->
<div>내용</div>
<!--@end-->
루프 문법도 마찬가지입니다. XE에서 만들어낸 이상한 문법 말고 그냥 <!--@foreach--> <!--@end--> 쓰세요. 구관이 명관입니다. 순정 PHP에 가까울수록 정확한 동작이 보장되고, 효율적으로 실행되는 것은 덤입니다.
단, checked, selected 등 하나의 속성에 |cond=""로 붙이는 문법은 버그도 거의 없고, 자칫 지저분해질 수 있는 코드를 아주 간단하게 바꿔주기 때문에 마음껏 쓰셔도 괜찮습니다. 생긴 것이 비슷할 뿐, 전혀 다른 방식으로 구현되어 있거든요. 조건문이 적용되는 범위(직전 속성, 쌍따옴표)가 아주 분명하잖아요?
댓글 2
대부분의 태그에 적용되지만, 추천하지 않습니다. XE 때부터 버그가 잦은 문법인데, 그렇다고 확 바꿔버리면 기존 스킨과 호환성이 깨지기 때문에 이러지도 못하고 저러지도 못하는 골칫덩이이거든요.
버그가 많이 발생하는 이유는 간단합니다. 아래의 "추천" 문법과 달리 cond="" 문법은 조건문이 시작하는 지점만 표시하고, 끝나는 지점을 표시하지 않기 때문입니다. 템플릿 엔진이 HTML에 대한 대략의 이해를 바탕으로 (그것도 HTML5가 아닌, 예전 XHTML 기준으로) 대강 추측하는 것인데, 태그 구조와 조건이 간단하다면 </div>가 어디 있는지 비교적 쉽게 찾을 수 있지만, 중간에 다른 태그가 많거나, 태그 비슷하게 생긴 내용을 출력하는 함수라도 끼어들면 그야말로 혼돈의 도가니가 되어 버립니다. 그래서 정확히 어떤 태그에 정상 작동을 보장한다고 말할 수조차 없습니다. 처음부터 총체적 난국이었고, 지금도 퇴출 0순위이며, 신규 코드에서는 사용을 고려할 가치가 없습니다.
강력 비추:
<div cond="조건">내용</div>
강력 추천:
<!--@if(조건)-->
<div>내용</div>
<!--@end-->
루프 문법도 마찬가지입니다. XE에서 만들어낸 이상한 문법 말고 그냥 <!--@foreach--> <!--@end--> 쓰세요. 구관이 명관입니다. 순정 PHP에 가까울수록 정확한 동작이 보장되고, 효율적으로 실행되는 것은 덤입니다.
단, checked, selected 등 하나의 속성에 |cond=""로 붙이는 문법은 버그도 거의 없고, 자칫 지저분해질 수 있는 코드를 아주 간단하게 바꿔주기 때문에 마음껏 쓰셔도 괜찮습니다. 생긴 것이 비슷할 뿐, 전혀 다른 방식으로 구현되어 있거든요. 조건문이 적용되는 범위(직전 속성, 쌍따옴표)가 아주 분명하잖아요?
예:
<option selected="selected"|cond="조건">선택지</option>