This article describes the precautions related to Zend Framework custom Helper class. Share it with everyone for your reference, the details are as follows:
Writing a custom Helper class
It is easy to write a custom Helper class, as long as you follow the following principles:
① The class name must be Zend_View_Helper_*, * is the name of the helper. For example, if you are writing a class named "specialPurpose", the class name will be at least "SpecialPurpose". In addition, you should also prefix the class name. It is recommended to use "View_Helper" as part of the prefix: "My_View_Helper_SpecialPurpose". (note case) You will need to pass the prefix (without the underscore) to addHelperPath() or setHelperPath().
② There must be a public method in the class, and the method name is the same as the helper class name. This method will be executed when your template calls "$this->specialPurpose()". In our "specialPurpose" example, the corresponding method declaration could be "public function specialPurpose()".
③ Generally speaking, the Helper class should not echo or print or have other forms of output. It just needs to return a value. Returned data should be escaped.
④ The name of the class file should be the name of the helper method. For example, in the "specialPurpose" example, the file should be saved as "SpecialPurpose.php".
Put the helper class file in your helper path, and Zend_View will automatically load, instantiate, persist, and execute.
The three-dot class file name, class name, and helper method in the class should be consistent to a certain extent.
Posted code:
Two helpers, you can see clearly that they are different. . . . .
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"; } }
Use:
<?php echo $this->doctype() ?> <?php echo $this->img() ?> <?php echo $this->testHelper() ?>
to add content, add addHelperPath in initView, and you can change it to load application. Configure the path through the ini file configuration item. As follows
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
I hope this article will be helpful to everyone in PHP programming.
For more Zend Framework custom Helper class-related precautions and related articles, please pay attention to the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

WebStorm Mac version
Useful JavaScript development tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Atom editor mac version download
The most popular open source editor