이 글은 주로 Zend Framework 커스텀 Helper 클래스 관련 주의사항을 소개하고, 커스텀 Helper 클래스 작성에 대한 관련 원리와 구현 기법을 요약, 분석하고 있으며, 필요한 친구들이 참고할 수 있습니다.
이 글은 Zend Framework 커스텀 Helper 클래스에 대해 설명합니다. 메모. 다음과 같이 참조할 수 있도록 모든 사람과 공유하세요.
사용자 정의 Helper 클래스 작성
다음 원칙을 따르면 사용자 정의 Helper 클래스를 쉽게 작성할 수 있습니다.
① 클래스 이름은 Zend_View_Helper_여야 합니다. *, *는 도우미의 이름입니다. 예를 들어, "specialPurpose"라는 클래스를 작성하는 경우 클래스 이름은 최소한 "SpecialPurpose"이어야 합니다. 또한 접두사 부분으로 "View_Helper"를 사용하는 것이 좋습니다. "My_View_Helper_SpecialPurpose". (참고 사례) addHelperPath() 또는 setHelperPath()에 접두어(밑줄 없이)를 전달해야 합니다.
② 클래스에는 퍼블릭 메소드가 있어야 하며, 메소드 이름은 헬퍼 클래스 이름과 동일합니다. 이 메서드는 템플릿이 "$this->specialPurpose()"를 호출할 때 실행됩니다. "specialPurpose" 예제에서 해당 메서드 선언은 "public function SpecialPurpose()"일 수 있습니다.
3 일반적으로 Helper 클래스는 에코나 인쇄 또는 다른 형식의 출력을 가져서는 안 됩니다. 값을 반환하기만 하면 됩니다. 반환된 데이터는 이스케이프되어야 합니다.
4 클래스 파일 이름은 헬퍼 메소드 이름이어야 합니다. 예를 들어 "specialPurpose" 예제에서는 파일이 "SpecialPurpose.php"로 저장되어야 합니다.
헬퍼 클래스 파일을 헬퍼 경로에 넣으면 Zend_View가 자동으로 로드, 인스턴스화, 지속 및 실행됩니다.
클래스의 3점 클래스 파일 이름, 클래스 이름, 도우미 메서드는 어느 정도 일관성을 유지해야 합니다.
게시 코드:
두 명의 도우미, 서로의 차이점을 확실히 알 수 있습니다. . . . .
version zf 1.10
Bootstrap.php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initDoctype() { $this->bootstrap ( 'view' ); $view = $this->getResource ( 'view' ); $view->doctype ( 'XHTML1_STRICT' ); } protected function _initView() { $view = new Zend_View (); $view->setEncoding ( 'UTF-8' ); $view->doctype ( 'XHTML1_STRICT' ); $view->addHelperPath('../application/views/helpers', 'My_View_Helper'); $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer(); Zend_Controller_Action_HelperBroker::addHelper($viewRenderer); $viewRenderer->setView($view); return $view; } }
application/views/helpers
Img.php:
class Zend_View_Helper_Img extends Zend_View_Helper_Abstract { public function img() { return "this is a img"; } }
TestHelper.php:
사용 위치class My_View_Helper_TestHelper extends Zend_View_Helper_Abstract { public function testHelper() { return "this is a TestHelper"; } }
액션:
<?php echo $this->doctype() ?> <?php echo $this->img() ?> <?php echo $this->testHelper() ?>
추가 콘텐츠, initView에 addHelperPath를 추가하면 이를 변경하여 애플리케이션을 로드할 수 있습니다. ini 파일 구성 항목을 통해 경로를 구성합니다. 다음과 같습니다
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initDoctype() { $this->bootstrap ( 'view' ); $view = $this->getResource ( 'view' ); $view->doctype ( 'XHTML1_STRICT' ); } protected function _initView() { $view = new Zend_View (); $view->setEncoding ( 'UTF-8' ); $view->doctype ( 'XHTML1_STRICT' ); $options = $this->getOptions (); $viewOptions = $options ['resources']['view']['helperPath']; if (is_array ($viewOptions)) { foreach($viewOptions as $helperName =>$path) { $view->addHelperPath ( $path, $helperName ); } } $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer (); Zend_Controller_Action_HelperBroker::addHelper ( $viewRenderer ); $viewRenderer->setView ( $view ); return $view; } }
[production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" resources.view[] = resources.view.helperPath.My_View_Helper = "../application/views/helpers" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" resources.frontController.params.displayExceptions = 1 [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1
위 내용은 모두의 학습에 도움이 되길 바랍니다.
관련 권장 사항:
Zend Framework의 Zend_Registry 구성 요소 사용 분석 정보
의 Bootstrap 클래스 사용 분석
위 내용은 Zend Framework 사용자 정의 Helper 클래스에 대한 관련 지식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!