2012-10-02 2 views
0

나는 Mustache.php로 일반적인 일을하는 법을 알아 내려고 노력하고 있습니다. 이 시점에서 템플릿의 기본 PHP switch 문을 대체하려고합니다.간단한 방법으로 mustache.php에서 PHP switch 문을 대체 하시겠습니까?

"status"플래그가 주어집니다. 활동에 대한 'A',

A => Active, I => Inactive, P=>Pending, D=>Deleted 같은 디스플레이 옵션 세트,

내가 템플릿의 데이터를 수정하여 Mustache.php에 좋은 표시 문자열을 얼마나

? 테이블의

예 데이터 :

$users = array(
array('username'=>'william', 'status'=>'A', 'date_created'=>'7-01-2012'), 
array('username'=>'john', 'status'=>'P', 'date_created'=>'5-17-2012') 
); 

답변

2

콧수염의 요점은, 모든 논리에서 템플릿이 깨끗한 데. 콧수염 틀은 로직이 없어야합니다. 이것은 신규 이민자를위한 상당히 다른 방법론입니다.

문제를 해결하려면 Mustache 템플릿이 필요한 모든 것을 포함하도록 $users 어레이를 다시 처리해야합니다. 예 : 그런 다음 콧수염 템플릿을 수행하는 데 필요한 모든, 그래서 같이 출력 {{status_label}}입니다

class View_User { 

    public $_users; 

    public function users() 
    { 
     $users = array(); 
     foreach ($this->_users as $user) 
     { 
      $user->status_label = // Use your 'switch' statement here 
      $users[] = $user; 
     } 
     return $users; 
    } 
} 

: 다음 status 필드 switch 문을 사람이 읽을 수있는 상태를 표시하기위한 경우, 다음 뷰 클래스는 같은 모양해야

<ul> 
    {{#users}} 
     <li>Status: {{status_label}}</li> 
    {{/users}} 
</ul> 

로직을 View 클래스에 포함하고 Mustache 템플릿을 로직이없는 상태로 둡니다. 이 방법으로 분리 된 UI 코드는 나중에 유지 관리하고 다시 요소 화하는 것이 훨씬 쉬워집니다.

관련 문제