2013-07-15 4 views
0

젠드 프레임 워크를 처음 사용하고 부트 스트래핑이 어떻게 작동하는지 이해하려고 시도했습니다. 지금까지 나는 Zend_Application이 PHP 환경을 로딩하고, 경로를 포함하고, 오토로더를 설정하고, Bootstrap 클래스의 부트 스트랩 메소드를 호출한다는 것을 이해했다.젠드 부트 스트랩 클래스 및 리소스 플러그인

부트 스트랩 메소드는 모든 리소스 메소드 (_init *())를 실행 한 다음 리소스 플러그인을 실행합니다.

동일한 리소스를 리소스 메소드를 사용하고 리소스 플러그인을 사용하여 구성하면 어떻게됩니까? 아래 예 : 자원 플러그인이 자원 메소드 다음에 호출되어 현재

//Bootstrap resource method 
    protected function _initLayout(){ 
      $this->bootstrap('layout'); 
      $layout = $this->getResource('layout'); 
      $layout->setLayout('index'); 
    } 

//Bootstrap resource plugin 
resources.layout.layout = "main" 

은 그래서 이것은 내 레이아웃을 덮어하고 "기본"하지만이 발생하지 않습니다하도록 설정해야합니다.

플러그인 리소스가 Google의 리소스 메소드 설정을 덮어 쓰면 안됩니까?

그리고 리소스 메소드 또는 리소스 플러그인을 부트 스트래핑하는 데 사용해야 할 대상은 무엇입니까?

도움 주셔서 감사합니다.

답변

1

부트 스트랩 클래스는 이미 실행 된 리소스를 부트 스트랩하지 않으므로 클래스 메소드를 통해 '레이아웃'리소스를 생성 했으므로 리소스 플러그인이 실행되지 않습니다. 메서드의 이름을 변경하면 예상대로 작동합니다.

예기치 않은 문제를 일으킬 수 있으므로 플러그인 이름과 일치하는 _init 메소드를 작성하지 않아야합니다.

부트 스트래핑 리소스 메소드 또는 리소스 플러그인에는 무엇을 사용해야합니까?

두 가지 중 하나를 사용할 수 있으므로 주로 개인적인 취향에 달려 있습니다. 하나의 접근법을 고수하는 것이 좋습니다. 또는 표준 ZF 사물과 사용자 정의 응용 프로그램 자원에 대한 메소드를 구성하기 위해 자원 플러그인을 사용하는 것과 같은 컨벤션을 가질 수도 있습니다.

관련 문제