Maison php教程 PHP开发 Résumé des précautions liées à la classe Helper personnalisée de Zend Framework

Résumé des précautions liées à la classe Helper personnalisée de Zend Framework

Dec 27, 2016 pm 02:23 PM

Cet article décrit les précautions liées à la classe Helper personnalisée de Zend Framework. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Écrire une classe Helper personnalisée

Écrire une classe Helper personnalisée est facile, à condition de suivre les principes suivants :

① Le nom de la classe doit être Zend_View_Helper_*, * est le nom de l'assistant. Par exemple, si vous écrivez une classe nommée "specialPurpose", le nom de la classe sera au moins "SpecialPurpose". De plus, vous devez également préfixer le nom de la classe. Il est recommandé d'utiliser "View_Helper" dans le préfixe : "Mon_View_Helper_SpecialPurpose". (notez le cas) Vous devrez transmettre le préfixe (sans le trait de soulignement) à addHelperPath() ou setHelperPath().
② Il doit y avoir une méthode publique dans la classe et le nom de la méthode est le même que le nom de la classe d'assistance. Cette méthode sera exécutée lorsque votre modèle appelle "$this->specialPurpose()". Dans notre exemple "specialPurpose", la déclaration de méthode correspondante pourrait être "public function specialPurpose()".
③ De manière générale, la classe Helper ne doit pas faire écho, ni imprimer ni avoir d'autres formes de sortie. Il lui suffit de renvoyer une valeur. Les données renvoyées doivent être échappées.
④ Le nom du fichier de classe doit être le nom de la méthode d'assistance. Par exemple, dans l'exemple "specialPurpose", le fichier doit être enregistré sous "SpecialPurpose.php".

Placez le fichier de classe d'assistance dans votre chemin d'assistance et Zend_View se chargera, instanciera, persistera et s'exécutera automatiquement.

Le nom du fichier de classe à trois points, le nom de la classe et la méthode d'assistance dans la classe doivent être cohérents dans une certaine mesure.

Publiez le code :

Deux assistants, voyez bien, leurs différences. . . . .

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;
  }
}
Copier après la connexion

application/views/helpers

Img.php :

class Zend_View_Helper_Img extends Zend_View_Helper_Abstract
{
  public function img()
  {
    return "this is a img";
  }
}
Copier après la connexion

TestHelper.php : utilisé dans

class My_View_Helper_TestHelper extends Zend_View_Helper_Abstract
{
  public function testHelper()
  {
    return "this is a TestHelper";
  }
}
Copier après la connexion

action :

<?php echo $this->doctype() ?>
<?php echo $this->img() ?>
<?php echo $this->testHelper() ?>
Copier après la connexion

contenu supplémentaire, ajoutez addHelperPath dans initView, vous pouvez le modifier pour charger l'application. Configurez le chemin via l'élément de configuration du fichier ini. Comme suit

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
 protected function _initDoctype() {
 $this->bootstrap ( &#39;view&#39; );
 $view = $this->getResource ( &#39;view&#39; );
 $view->doctype ( &#39;XHTML1_STRICT&#39; );
 }
 protected function _initView() {
 $view = new Zend_View ();
 $view->setEncoding ( &#39;UTF-8&#39; );
 $view->doctype ( &#39;XHTML1_STRICT&#39; );
 $options = $this->getOptions ();
 $viewOptions = $options [&#39;resources&#39;][&#39;view&#39;][&#39;helperPath&#39;];
 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;
 }
}
Copier après la connexion
[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
Copier après la connexion

J'espère que cet article sera utile à tout le monde dans la programmation PHP.

Pour plus d'articles liés au résumé de la classe Helper personnalisée de Zend Framework et aux articles connexes, veuillez prêter attention au site Web PHP chinois !

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)