In diesem Artikel werden hauptsächlich die Vorsichtsmaßnahmen im Zusammenhang mit der benutzerdefinierten Hilfsklasse von Zend Framework vorgestellt, die relevanten Prinzipien und Implementierungstechniken zum Schreiben einer benutzerdefinierten Hilfsklasse zusammengefasst und analysiert. Freunde in Not können sich darauf beziehen
In diesem Artikel geht es um Zend Vorsichtsmaßnahmen im Zusammenhang mit der benutzerdefinierten Hilfsklasse des Frameworks. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Eine benutzerdefinierte Helper-Klasse schreiben
Eine benutzerdefinierte Helper-Klasse zu schreiben ist einfach, solange Sie sich daran halten Die folgenden Prinzipien: Kann:
① Der Klassenname muss Zend_View_Helper_* sein, * ist der Name des Helfers. Wenn Sie beispielsweise eine Klasse mit dem Namen „specialPurpose“ schreiben, lautet der Klassenname mindestens „SpecialPurpose“. Außerdem sollten Sie dem Klassennamen ein Präfix voranstellen. Es wird empfohlen, „View_Helper“ als Teil des Präfixes zu verwenden: „My_View_Helper_SpecialPurpose“. (Groß- und Kleinschreibung beachten) Sie müssen das Präfix (ohne Unterstrich) an addHelperPath() oder setHelperPath() übergeben.
② Die Klasse muss eine öffentliche Methode enthalten und der Methodenname muss mit dem Namen der Hilfsklasse identisch sein. Diese Methode wird ausgeführt, wenn Ihre Vorlage „$this->specialPurpose()“ aufruft. In unserem „specialPurpose“-Beispiel könnte die entsprechende Methodendeklaration „public function specialPurpose()“ lauten.
③ Im Allgemeinen sollte die Helper-Klasse kein Echo oder Drucken oder andere Ausgabeformen haben. Es muss lediglich ein Wert zurückgegeben werden. Zurückgegebene Daten sollten maskiert werden.
④ Der Name der Klassendatei sollte der Name der Hilfsmethode sein. Im Beispiel „specialPurpose“ sollte die Datei beispielsweise als „SpecialPurpose.php“ gespeichert werden.
Fügen Sie die Hilfsklassendatei in Ihren Hilfspfad ein, und Zend_View wird automatisch geladen, instanziiert, beibehalten und ausgeführt.
Der dreipunktige Klassendateiname, der Klassenname und die Hilfsmethode in der Klasse sollten bis zu einem gewissen Grad konsistent sein.
Posten Sie den Code:
Zwei Helfer, sehen deutlich, ihre Unterschiede. . . . .
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
Bild. 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"; } }
In Aktion verwendet:
<?php echo $this->doctype() ?> <?php echo $this->img() ?> <?php echo $this->testHelper() ?>
Zusätzlicher Inhalt, addHelperPath in initView hinzufügen, Sie können es ändern, um die Anwendung zu laden. Konfigurieren Sie den Pfad über das Konfigurationselement der INI-Datei. Wie folgt
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
Das Obige ist der gesamte Inhalt dieses Artikels, Ich hoffe, dass es für alle nützlich sein wird. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!
Verwandte Empfehlungen:
Über die Verwendung des Zend Framework Action Controllers
Über die Nutzungsanalyse der Zend_Registry-Komponente in Zend Framework
Zend
Nutzungsanalyse von Bootstrap-Klassen im Framework
Das obige ist der detaillierte Inhalt vonVerwandtes Wissen über die benutzerdefinierte Hilfsklasse von Zend Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!