Summary of precautions related to Zend Framework custom Helper class, zendhelper_PHP tutorial

WBOY
Release: 2016-07-12 08:57:10
Original
773 people have browsed it

A summary of the precautions related to the Zend Framework custom Helper class, zendhelper

This article describes the precautions related to the Zend Framework custom Helper class. Share it with everyone for your reference, the details are as follows:

Write a custom Helper class

Writing a custom Helper class is easy, 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.

Post code:

Two helpers, you can clearly see their differences. . . . .

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;
  }
}

Copy after login

application/views/helpers

Img.php:

class Zend_View_Helper_Img extends Zend_View_Helper_Abstract
{
  public function img()
  {
    return "this is a img";
  }
}

Copy after login

TestHelper.php:

class My_View_Helper_TestHelper extends Zend_View_Helper_Abstract
{
  public function testHelper()
  {
    return "this is a TestHelper";
  }
}

Copy after login

Used in action:

<&#63;php echo $this->doctype() &#63;>
<&#63;php echo $this->img() &#63;>
<&#63;php echo $this->testHelper() &#63;>

Copy after login

Additional content, add addHelperPath in initView, which can be changed 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;
 }
}

Copy after login
[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

Copy after login

Readers who are interested in more zend-related content can check out the special topics of this site: "Zend FrameWork Framework Introductory Tutorial", "php Excellent Development Framework Summary", "Yii Framework Introduction and Summary of Common Techniques", "ThinkPHP Introductory Tutorial" , "php object-oriented programming introductory tutorial", "php mysql database operation introductory tutorial" and "php common database operation skills summary"

I hope this article will be helpful to everyone in PHP programming.

Articles you may be interested in:

  • Zend Framework Tutorial: Overview of Bootstrap Class Usage
  • Zend Framework Tutorial: Detailed Usage Examples of Resources
  • Zend Framework Tutorial Detailed Explanation of Application and Bootstrap Usage
  • Zend Framework Tutorial Configuration File Application.ini Analysis
  • Zend Framework Tutorial Detailed Explanation of Loader and PluginLoader Usage
  • Zend Framework Tutorial Detailed explanation of Autoloading usage
  • Zend Framework tutorial Resource Autoloading usage example
  • Zend Framework tutorial MVC framework Controller usage analysis
  • Zend Framework tutorial road explained in detail by function Zend_Controller_Router
  • Zend Framework Tutorial: Detailed Explanation of the Zend_Controller_Plugin Plugin Usage
  • Zend Framework Tutorial: Detailed Explanation of the Encapsulation of the Response Object Zend_Controller_Response Instance
  • Zend Framework Tutorial: Detailed Explanation of the Action Base Class Zend_Controller_Action
  • Zend Framework tutorial front-end controller Zend_Controller_Front usage detailed explanation
  • Zend Framework tutorial Application usage example detailed explanation

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1110090.htmlTechArticleA summary of the precautions related to the Zend Framework custom Helper class, zendhelper This article describes the precautions related to the Zend Framework custom Helper class . Share it with everyone for your reference, the details are as follows...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template