Zend Framework 2: Wie Sie eine Weiterleitung in ein Modul, vor der Anwendung einen Domänencontroller erreicht
Sagen wir, wir haben ein Modul mit dem Namen Cart und wollen die Benutzer umleiten, wenn eine bestimmte Bedingung erfüllt wird.
Ich möchte, um eine Umleitung auf das Modul bootstrapping-Phase, bevor die Anwendung erreicht einen controller.
So, hier ist der Modul-code:
<?php
namespace Cart;
class Module
{
function onBootstrap() {
if (somethingIsTrue()) {
//redirect
}
}
}
?>
Wollte ich die Url controller plugin, aber es scheint die controller-Instanz ist zu diesem Zeitpunkt nicht verfügbar, zumindest ich weiß nicht, wie um es zu bekommen.
Vielen Dank im Voraus
InformationsquelleAutor Artyom Tokarev | 2013-01-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte dies tun, die notwendigen arbeiten:
Ich aktualisierte die Antwort, die Anwendung ausgeführt wird, kann kürzer sein, nur beim Routing Veranstaltung. Ich habe einen listener mit einer hohen Priorität, die sollten es vermeiden, andere interne listners (Kurzschluss). Wenn Ihr neugierig Kasse der "short-circuit" - Logik, die auf Zend\Mvc\Application Zeilen, beginnend bei Zeile 278
es ist nie eine gute Idee, um zu beenden. Wenn Sie brauchen, dass, Ihr design ist fehlerhaft. Nur gültig Verwendung für exit() wird die Einstellung nicht-null exit-code.
Verwenden Sie nicht verlassen. Es bricht Ihr PHPUnit-TestCase-Ausführung.
InformationsquelleAutor yechabbi
Natürlich macht es einen Fehler, da müssen Sie fügen Sie Ihre Zuhörer zu einer Veranstaltung. Im folgenden Beispiel verwende ich SharedManager und ich lege den Hörer auf
AbstractActionController
.Natürlich können Sie Ihre Zuhörer zu einem anderen Ereignis. Unten ist nur ein Beispiel um Ihnen zu zeigen, wie es funktioniert. Für mor Informationen besuchen Sie http://framework.zend.com/manual/2.1/en/modules/zend.event-manager.event-manager.html.
ich bearbeitet meine Antwort
ich war auf der Suche nach einer Umleitung zu route, aber ich denke, der einzige Weg ist, um die controller-Instanz und dann umleiten. Ich war bisher auf der Suche für die Umleitung über ein Modul, aber ich habe keine Lösung über die Konfiguration Modul-Klasse. Allerdings befestigte ich die listerner auf __ NAMESPACE __ statt AbstractActionController. Ty
Dieser funktioniert. Danke.
InformationsquelleAutor Nikitas
Die Seite nicht umgeleitet wird ordnungsgemäß auf Fehler
InformationsquelleAutor Akansh Braj
Können Sie dies versuchen.
ohh.. sorry, habe ich nicht bemerkt. Ich habe nicht verwendet ZF2 noch nicht, aber einige Suche hat mir dieses snippet. Können Sie versuchen, dieser
danke! Endlich habe ich es! Die Lösung, die ich brauche, ist fast das gleiche für die Seite, die Sie in Ihre Antwort.
InformationsquelleAutor Nandakumar V