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장

댓글 없음:

댓글 쓰기