hi Wie kann man eine Controller-Klasse von einer anderen Controller-Klasse innerhalb eines Moduls erweitern? für zB: ich habe ein Modul Standard und einen Controller defaultController Ich möchte den Standard-Controller in userController, die in Benutzermodul ist? ich bin immer einen fatalen Fehler, wenn dieseextend controller in zend Controller
Antwort
Für wiederverwendbare Controller-Funktionalität zu tun versuchen, entweder sollten Sie beide Controller eine gemeinsame übergeordnete Klasse für verwenden, anstatt einen Controller durch einen anderen erstreckt, oder Sie sollten aktions Helfer verwenden .
Versuchen Sie sehen auch bei diesem Beispiel
Meine Auswahl struckture
+ -Anwendung
+ -configs
+ -Module
+ - Front
+ --- Controller
+ - -Ansichten
+ ---- Helfer
+ ---- Skripte
+ ----- Index
+ - Benutzer --- Controller
+ --- Ansichten
+ ---- Helfer
+ ---- Skripte
+ ----- Index
+ Bibliothek
+ public
application/configs/application.ini
[production]
Autoloadernamespaces[] = "Zend_"
Autoloadernamespaces[] = "My_"
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.modules[] = ''
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.moduleControllerDirectoryName = "controllers"
resources.frontController.defaultModule = "front"
resources.frontController.throwErrors = false
resources.router.routes.default.route = ":module/:controller/:action/*"
resources.router.routes.default.defaults.module = front
resources.router.routes.default.defaults.controller = index
resources.router.routes.default.defaults.action = index
[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
application/bootstr ap.php
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
}
application/modules/vorne/Controller/IndexController.php
<?php
/**
* IndexController
*
* @author
* @version
*/
require_once 'Zend/Controller/Action.php';
class IndexController extends My_Controller_Action_Abstract
{
/**
* The default action - show the home page
*/
public function indexAction()
{
echo('Front Controller');
}
}
application/modules/user/Controller/IndexController.php
<?php
/**
* IndexController
*
* @author
* @version
*/
require_once 'Zend/Controller/Action.php';
class User_IndexController extends My_Controller_Action_Abstract
{
/**
* The default action - show the home page
*/
public function indexAction()
{
echo('User Controller');
}
}
meine Benutzerklasse Klasse User_IndexController Default_IndexController { öffentliche Funktion erweitert init() { /* Initialisieren Regler hier */ } public function index() { // Aktion Körper // \t if ($ this-> getRequest() -> isPost()) // \t \t { // \t \t \t $ this-> view-> name = $ _ POST [ 'username']; // \t \t} } Klasse Default_IndexController erweitert Zend_Controller_Action {} } – guny
- 1. Zend _forward in Controller-Plugin
- 2. Registrierung Controller Plugins mit Front-Controller in Zend Framework
- 3. UnitTest Fehler Controller in Zend Framework
- 4. Zend Framework: Controller in separaten Verzeichnissen
- 5. Zend Auth und Umleitung in Controller-Plugin
- 6. Equivalent von url() Hilfsfunktion in Zend Controller
- 7. Zend Framework gemeinsamer Code für alle Controller
- 8. Zend Framework - erhalten Front Controller von Bootstrap?
- 9. HTTP-Header im Controller (Zend Framework) lesen
- 10. Zend Framework 2 Controller Plugins nicht verfügbar in Komponententests
- 11. Zend Framework 2 Testen der Weiterleitung in Controller-Aktion?
- 12. PHP-Einheit leerer Array-Wert empfangen in Zend-Controller
- 13. Modul in Zend Framework nicht geladen Index-Controller
- 14. Eine Variable vom Controller zu einem Partial in Zend übergeben
- 15. So erstellen Controller-Eingabeaufforderung in Zend Framework mit
- 16. Behandlung von Ausnahmen in Zend Framework-Controller-Plugins
- 17. Zend Framework 2: Ändern Sie Details von layout.pthml in Controller
- 18. Zend Framework: Verwenden von Bindestrichen in Controller-Namen/URLs
- 19. Einstellung Sitzung ordnungsgemäß in zend Controller-Aktion auf AJAX-Aufruf
- 20. Anzeigen Inhalt in Controller
- 21. View Controller Frame-Größe in Kind-Controller
- 22. Navigation Controller Push-View-Controller-
- 23. Wie Controller Controller-Anweisung testen?
- 24. zend Aktion helpres Nutzung von den Erklärungen Controller benötigt
- 25. Zend Controller Action Helper Fehler beim Hinzufügen des Helfers
- 26. Zend - Speaking URL von Modull/Controller/View Logic generieren
- 27. Zend Framework (1.7.5): Wie man Controller-Verzeichnis ändert
- 28. Zend: Führe etwas aus, bevor ein Controller ausgeführt wird
- 29. Zend Framework - Lesen von Application.ini-Werten von einem Controller
- 30. Zugriff auf Controller und Aktion Name bei _initVars() Zend Framework
Die gemeinsamen Funktionen sind im Standard-Controller und es ist in Modul-Standard. Ich möchte diese Standard-Controller in allen anderen Modul-Controllern erhalten. Ich habe versucht, mit Aktion Helfer, aber ich kann nicht Zend_Controller_Request_Abstract Objekt in der Aktion Helfer. – guny
http://stackoverflow.com/questions/583636/modular-web-site-with-zend-framework-stack-of-actions – guny
Ich versuche, die in http://stackoverflow.com/questions/ beschriebenen Lösung zu implementieren 583636/modular-web-site-mit-zend-framework-stack-of-aktionen .. aber ich habe eine modulare Struktur ... so wie in der angegebenen Link erwähnt habe ich einen Basis-Controller im Standard-Modul, die nicht in der Lage sein auf andere Controller erweitern. Gibt es eine bessere Lösung für diese Situation? – guny