Frage

So habe ich habe gerade vor kurzem den Schritt von der Ad-hoc-Debugging mit dump, print_r und echo auf einige anspruchsvollere Methoden, und ich bin einen Kampf mit.

Ich arbeite mit Zend Framework, Aptana und Zend Debugger.

In diesem Moment Ich versuche, einen benutzerdefinierten Controller zu debuggen und was auch immer ich versuche ich nicht zu meinem Breakpoint erhalte, die ich verstehe, da es die Authentifizierung zwischen und über das Menü.

Fragen :

  1. Wie kann ich meine Bewerbung Pause am Point-of-Authentifizierung, Anmeldung im Browser machen, bis zu einem gewissen uri navigieren und dann das Debuggen fortsetzen?
  2. Was sind gute Orte, Haltepunkte in Zend Framework mit MVC setzen?
War es hilfreich?

Lösung

Sie wollen den aktuellen Benutzer-Authentifizierungsdaten auf halbem Wege durch eine Anfrage ändern?

Ich glaube nicht, das ist möglich. Zend Debugger ist so ziemlich ein Nur-Lese-Tool. Auch wenn es, Sie gehen davon aus, dass unabhängig von Rahmen Sie verwenden kann damit umgehen. Das würde bedeuten, es hätte ständig versuchen, es mit sich ändernden Eingangsdaten internen Zustand zu synchronisieren.

Ich denke, anstatt uns zu fragen, wie dieses spezielle Problem zu lösen, sollten Sie uns erzählen, warum Sie die Authentifizierung ändern müssen. Es klingt wie Sie ein Skript in Ihrem Debugger starten, die fehlschlägt, weil Sie keine Benutzersitzung haben.

Zend Debugger verfügt über eine Browser-Toolbar ( http: // files.zend.com/help/Zend-Studio-Eclipse-Help/zend_debugger_toolbar.htm ), dass Sie einen der Debugger für die aktuelle Seite starten können; der Debugger alle Informationen hat, dass der Browser gesendet hätte: Cookies, Post-Datum, usw. Es gibt sogar eine „debug nächste Seite“ Einstellung, die Ihnen Debug-POST Formen hilft. Es klingt wie das ist, was Sie wollen.

Andere Tipps

Wäre es nicht einfacher, eine Konstante wie einzurichten:

define('MODE_DEBUG', 1);

Dann sind Sie bei der Authentifizierung:

if($obj->myLoginMethod() || constant('MODE_DEBUG') == 1){

}

Noone wird in der Lage sein, in diese konstant zu injizieren und das Schlimmste, was ist, dass Sie den Debug-Modus auf meinem Fehler verlassen am Ende passieren kann ...

Welche Sie einen Scheck vor der Definition setzen könnten:

define('MODE_DEBUG', (false !== strpos($_SERVER['HTTP_HOST'], 'dev.mysite.com') ? 1 : 0));

Vielleicht brauchen Sie nur die Dump-Lösung zu überdenken (Ich mag die Idee Stützpunkte der Verwendung aber wandte sich wieder nach Schluckauf wie Ihr erfahrener und ich verwende Zend Studio). Zum Debuggen meiner Anwendungen I Verwendung von Zend_Log und den firebug Schriftsteller Zend_Log. Die Firebug gibt das Protokoll an firebug (NB Sie das müssen < a href = "http://www.firephp.org/" rel = "nofollow noreferrer"> FirePHP Erweiterung für Firefox installiert als auch). Bewahren Sie den Logger in Ihrer Registrierung und Sie können eine Menge Debugging erreichen, ohne Ihre Ansichten mit hässlichen Dumps vermasselt.

Ok, so spielte ich mit zend Debugger einige mehr. (Ihre Frage alte Dämonen aufgewühlt) und ich endlich den „richtigen“ Weg gefunden, zu debuggen. Um Ihre erste Frage zu beantworten, nach der Anmeldung debuggen würde ich sagen, die zend Toolbar für Firefox oder IE installieren. Rechts von dem Menüpunkt Test gibt es eine Drop-Down mit einigen Optionen. Eine der Optionen ist „nächste Seite“. So können Sie Ihre Login-Bildschirm gehen wählen Sie „Nächste Seite“ und dann in Ihre Anmeldeinformationen stellen und einreichen und die nächste Seite ist, was debuggt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top