레이블이 Alternative Syntax인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Alternative Syntax인 게시물을 표시합니다. 모든 게시물 표시

2007년 9월 9일 일요일

Alternative syntax for control structures

PHP에는 Alternative syntax for control structures가 제공되고 있습니다. Alternative syntax란 Control Structure의 복잡한 표현을 쉽게 표현하는 방법입니다.
열리는 {를 :으로 표현하고 닫치는 }를 endif; endwhile; endfor; endforeach; endswitch; 로 표현할 수 있는 방법입니다.
그렇다면, 어떤 면에서 쉽게 표현해주는 것일까요? 다음의 코드를 먼저 보겠습니다.
<?php
if(isAdmin()) {
    echo "<div class=\"admin_link\">";
    echo "   <a href=\"form.php\" class=\"add_link\">Add Link</a>";
    echo "</div>";
}
?>
일반적인 php의 관점으로 짜여진 코드이지만, php 코드와 HTML마크업이 섞여서 HTML마크업의 관점으로 보기 힘든 면이 있습니다.
이를 Alternative syntax로 표현하면 다음과 같이됩니다.
<?php if(isAdmin()): ?>
  <div class="admin_link">
     <a href="form.php" class="add_link">Add Link</a>
  </div>
<?php endif; ?>
php의 대부분 제어로직을 클래스 또는 function으로 분리한 다음에 View에 해당하는 php 및 html 마크업 코드를 분리했을 때, Alternative syntax를 사용한다면 명확하게 어떤 HTML 코드를 사용했는 지, 또는 디자인 변경에 따른 HTML수정도 쉽게 가능하겠죠.


출처 :  SimpleTest  via Manning, PHP in Action - 11장