2011-10-20 2 views
2

젠드 프레임 워크의 부트 스트랩에 대해 흥미로운 점을 발견했습니다. 나는 새로운 프로젝트를 생성 한 후젠드 프레임 워크의 레이아웃 초기화 특성

는 ZF 레이아웃 엔진을 사용하려면 레이아웃을

수 있도록 사용. 그것은 상자에서 일했습니다, 우!

하지만 그때 일부 옵션을 설정하기 위해 부트 스트랩에 _initLayout이라는 함수를 만들려고했습니다. 흥미롭게도, 이것은 함수 바디가 실제로 비어 있더라도 레이아웃을 다시 비활성화하는 것으로 보입니다. 오류는 발생하지 않지만 레이아웃 스크립트는 더 이상 사용되지 않습니다. 실제로 옵션을 다시 설정하고 수동으로 Zend_Layout::startMvc()을 호출하면 예외가 발생합니다.

다른 이름으로 함수 이름을 바꾸면 _initFoo처럼 레이아웃이 다시 작동합니다.

내 질문은 : 이것은 Zend Framework에서 어떻게 든 인식되는 함수 이름이며 application.ini에서 레이아웃 구성을 취소하는 것과 같은 추가 작업이 적용됩니다. 부트 스트랩에 특정 _init* 함수 이름을 사용하지 않아야하는 다른 경우가 있습니까?

답변

3

부트 스트랩의 주 목적은 응용 프로그램에서 사용하는 리소스를 설정하는 것입니다. 이것들은 설정 파일 (resources.resourcename.foo)이나 부트 스트랩 클래스 (_initResourceName())의 메소드에 의해 설정 될 수 있습니다. zf enable layout이 (가) resources.layout.* 행을 application.ini에 추가했다고 가정합니다. 부트 스트랩에 _initLayout 메소드를 추가함으로써 ZF는 이것을 사용하여 구성 리소스의 레이아웃 리소스을 배치 리소스로 설정합니다.

부트 스트랩에서 특정 _init * 함수 이름을 사용하지 않아야하는 다른 경우가 있습니까?

리소스 플러그인은 설명서에 자세히 설명되어 있습니다. http://framework.zend.com/manual/en/zend.application.available-resources.html, _init<resourcename>()은 항상 config의 해당 줄을 무시합니다.

+0

감사합니다.이 질문에 전체 답변 :). – mingos