2009-06-02 9 views
2

In Zend Framework 1.8, was ist die empfohlene Methode, um ein neues Plugin in Zend Framework 1.8 zu registrieren?Zend Framework 1.8 empfohlene Möglichkeit, ein Plugin zu registrieren?

<?php 
/** 
* Enter description here... 
* 
*/ 
class Wenbert_Controller_Plugin_CheckHasAccess extends Zend_Controller_Plugin_Abstract { 

    /** 
    * Enter description here... 
    * 
    * @param Zend_Controller_Request_Abstract $request 
    */ 
    public function preDispatch(Zend_Controller_Request_Abstract $request) { 
     echo 'This plugin is called...'; 
    } 
} 

ich vor 1.8 in Versionen etwas wie dies erinnere mich an:

require_once 'Wenbert/Controller/Plugin/CheckHasAccess.php'; 
$frontController = Zend_Controller_Front::getInstance(); 
$frontController->registerPlugin(new Wenbert_Controller_Plugin_CheckHasAccess()); 

Was wäre die beste/empfohlen, wie es in ZF 1.8 zu tun?

Vielen Dank im Voraus!

-Wenbert

Antwort

5

Ich gehe davon aus Sie die Zend_Application Art und Weise, Dinge zu tun bedeuten. Es ist absolut nichts falsch mit der Art, wie Sie oben erwähnt haben. Das heißt, können Sie festlegen, welche Plugins in application.ini zu laden, etwa so:

resources.frontController.plugins.foo = "My_Plugin_Foo" 
resources.frontController.plugins.bar = "My_Plugin_Bar" 

Der einzige Nachteil, dass ich bin mir bewusst, mit diesem Ansatz ist, dass Sie nicht die Priorität steuern kann (Lage in der Plugin-Stack) des Plugins ... aber für die meisten (fast alle Fälle) sollte das egal sein.

+1

Noch wichtiger, Sie können keine Objekte in Ihre Plugins injizieren = erhöhte Kopplung. Ich möchte lieber manuell während des Bootstrappings instanziieren und registrieren. – Cobby