Page tree

PHP 로 웹 개발을 할 경우 뷰 레이어 코드를 작성할 때 HTML 내에  <?php echo $val; ?>  와 같이 데이타를 출력하는 코드를 넣는 것은 매우 귀찮고 실수할 여지가 많은 작업이었습니다.

 

라라벨은 blade 라는 심플하고 사용이 쉬운 템플릿(template) 엔진을 내장하고 있으므로 뷰 코드를 작성할 때 이런 수고를 더 이상하지 않고 MVC 패러다임에 맞는 개발을 할수가 있습니다.

 

블레이드는 상속을 지원하므로 레이아웃이나 jQuery 를 포함하는 <script> 구문같이 페이지마다 공통적으로 계속 사용해야 하는 부분은 상속을 통해 체계적으로 관리할 수 있습니다.

 

블레이드 템플릿을 사용하면 HMTL 과 CSS 를 바로 사용하고 PHP 구문만 특정 태그로 처리하면 되므로 디자이너와 개발자간의 협업도 기존에 비해 용이해 집니다.

 

블레이드의 또 다른 장점중 하나는 뷰 레이어에 출력을 하기 위해 {{ }} 를 호출하면 e() 라는 헬퍼 함수로 변환하고 헬퍼 내부에서 htmlspecialchars() 호출을 통해 위험한 특수 문자열을 자동적으로 변환해 줍니다.

그러므로 뷰에 출력할 때마다 직접 htmlspecialchars() 로 필터링할 필요가 없으지므로 코드의 양이 줄고 혹시 모를 실수로 인해 XSS(Cross Site Script) 공격을 당할 위험을 줄여 줍니다.