포럼
새로운 템플릿 문법 제안해봅니다.
2011.07.30 13:13
Switch 문
<block switch="$변수명">
<case value="값1">값1<break /></case>
<case value="값2">값2<break /></case>
</block>
<Break />는 반복문이나 Switch문에서만 사용할 수 있어야 함.
변수, 상수 정의하기
<define name="변수명/상수명" value="값" />
<define name="$나는변수다" value="변수" />
<define name="나는상수다" value="상수" />
<define name="$PHP코드실행안함" value="function()" isPHPCode="false" />
단, 변수의 경우 프로그램 실행 도중에 값을 바꿀 수 있음.
원하는 Class의 method 실행하기
<Context:class method="example('값')" />
변수도 가능합니다.
<define name="$test" value="getCssFile()" isPHPCode="false" />
<Context:class method="$test" output="$output" />
반환되는 결과를 $output 변수에 담습니다.
댓글 11
-
misol
2011.07.31 00:53
-
SMaker
2011.07.31 12:14
약간 모호해지는 것 같은데요.
제가 제안한 문법이 좀 더 명확한 것 같아요.
output 추가했어요. -
Treasurej
2011.07.31 01:31
잼있어지네요~^^ -
SMaker
2011.07.31 12:18
<Context:class method="set('module_info', $module_info)" output="$output" /> -
SMaker
2011.07.31 12:21
<Context:class method="get('module_info')"|cond="$isModule" method="get('oDocument')"|cond="$isDocument" output="$info"/> -
hhgyu
2011.07.31 16:09
된다면 확실히 좋겠네요 ㅋ -
Hide_D
2011.08.01 00:25
Switch에서 <break />가 필요할 일은 사실 없을것 같고
대신에 default: 혹은 else에 해당하는 것만 추가로 있으면 좋을것 같네요. -
SMaker
2011.08.01 17:03
필요없더라도 break 문법을 별도로 지원하는게 맞을 것 같습니다.
PHP와 유사한 환경을 제공하는게 좋으니까요. -
June Oh
2011.08.02 09:01
PHP와 유사한 환경을 위해서라면 </case>도 없애는 편이 좋지 않을까요? break을 쓰는 이유도 case가 닫는 구문이 없어서이니 말입니다. -
SMaker
2011.08.02 15:50
그렇지 않습니다.
에디터에서 Block 단위 접기/펼치기 기능을 활용할 수 있기에 그대로 놔두는게 좋고요.
case 사이에 PHP 코드가 들어올 수 있는 것까지 고려하여 스스로 닫지 않고요. -
파이델
2011.08.02 13:28
단순하게 block 문법에 break 하나 추가한 가상 문법? 정도만 있어도 응용해서 쓰면...
<block loop="true">
<break cond="$변수 == 1">값1</break> // $변수가 1이면 "값1" 출력 후 루프를 빠져 나감
<block cond="$상수 == 'a'">값a</block> // $상수가 a이면 "값a" 출력 후 다음 구문 실행
<break cond="$변수 == 2">값2</break> // $변수가 2이면 "값2" 출력 후 루프를 빠져 나감
<break>값 없다</break> // 다 아니면 디폴트 "값 없다" 출력 후 나감
</block>
간단히 그냥 이렇게 써도 되고
<break loop="true" cond="$변수 == 1">값1</break> // $변수가 1이면 루프를 빠져 나감
다른건 다 대체 가능한대 break;, continue;, 이건 좀 아쉽더러고요...
아쉬운대로 아래 신문법 switch 응용 글처럼 <?php break; ?>이렇게 하면 되지만요...
어찌하든 스윗치 문법은 꼭 필요해 보이네요.
는 어떤가요? ㅎㅎ