2011-09-05 2 views
2

젠드 프레임 워크를 처음 사용합니다. 나는 읽고 있었고 application.ini에 언급 된 것이 무엇이든 초기화되었다는 것을 발견했습니다.index와 application.ini의 혼란 및 몇 가지 간단한 질문

1 - 내가 언급 내가 사용해야하는 이유보다 더 INI에서 라이브러리에 대한 경로를 포함 한 경우 내 질문

// Include path 
set_include_path(
    BASE_PATH . '/library' 
); 

2와 같은 인덱스 파일에 다시 경로를 포함입니다 - application.ini에서해야 나는 APPLICATION_PATH "/../library"또는 APPLICATION_PATH "/ library"와 같은 includePaths.library라고 씁니다. 내 색인 APPLICATION_PATH 변수를 기억하고 있습니까?

3 - 왜 BootStarp 파일에서 _initView()를 실행해야합니까?

$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
       'ViewRenderer' 
      ); 
      $viewRenderer->setView($view); 

application.ini 같은 그 코드의 사용은 무엇입니까

;Include path 
includePaths.library = APPLICATION_PATH "/../library" 

부트 스트랩

<?php 

    class Bootstrap extends Zend_Application_Bootstrap_Bootstrap 
    { 
     protected function _initView() 
     { 
      // Initialize view 
      $view = new Zend_View(); 
      $view->doctype('XHTML1_STRICT'); 
      $view->headTitle('My Project'); 
      $view->env = APPLICATION_ENV; 

      // Add it to the ViewRenderer 
      $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
       'ViewRenderer' 
      ); 
      $viewRenderer->setView($view); 

      // Return it, so that it can be stored by the bootstrap 
      return $view; 
     } 
    } 

인덱스

0을 언급

답변

3

1과 2는 이전 버전의 젠드 프레임 워크에서 느린 중복성을 나타냅니다. 당신은 일반적으로 하나의 방법을 선택하고 그것에 충실 할 수 있습니다.

어느

// Ensure library/ is on include_path 
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'), 
    get_include_path(), 
))); 

index.php 또는

includePaths.library = APPLICATION_PATH "/../library" 

application.ini는 개인적으로, 나는 전자를 선호한다.

Bootstrap.php 파일에는 몇 가지 오래된 ZF 습관이있는 것 같습니다. 최신 응용 프로그램 아키텍처에는보기에 대한 자원 플러그인이 포함됩니다. 단순히 application.ini 파일

resources.view.encoding = "utf-8" 

이 점을 배치하고 라이브러리 및 초기화 INI 선호

// don't call this _initView as that would overwrite the resource plugin 
// of the same name 
protected function _initViewHelpers() 
{ 
    $this->bootstrap('view'); // ensure view resource has been configured 
    $view = $this->getResource('view'); 

    $view->doctype('XHTML1_STRICT'); 
    $view->headTitle('My Project'); 
    $view->env = APPLICATION_ENV; 
} 
+0

에 부트 스트랩 방법을 변경합니다. 권리? – Pirzada

+0

include 경로를 설정하려면 index.php에서 코드를 사용하는 것을 선호합니다. 다른 모든 구성은 응용 프로그램 구성 파일에 있습니다. – Phil