Domanda

Quindi di recente ho fatto il passaggio dal debug ad hoc con dump , print_r e echo ad alcuni metodi più sofisticati e io Sto lottando.

Lavoro con Zend Framework, Aptana e Zend Debugger.

In questo momento sto cercando di eseguire il debug di un controller personalizzato e qualunque cosa io provi non riesco a raggiungere il mio punto di interruzione che capisco poiché esiste un'autenticazione tra e utilizzando il menu.

Domande :

  1. Come posso interrompere la mia applicazione nel punto di autenticazione, accedere al browser, navigare verso un certo uri e quindi continuare il debug?
  2. Quali sono i posti migliori per impostare punti di interruzione in Zend Framework con MVC?
È stato utile?

Soluzione

Desideri modificare i dettagli di autenticazione dell'utente corrente a metà strada attraverso una richiesta?

Non credo sia possibile. Zend Debugger è praticamente uno strumento di sola lettura. Anche se lo fosse, stai assumendo che qualunque framework tu stia usando in grado di gestirlo. Ciò significherebbe che dovrebbe costantemente cercare di sincronizzare il suo stato interno con la modifica dei dati di input.

Penso che invece di chiederci come risolvere questo problema specifico, dovresti dirci perché è necessario modificare l'autenticazione. Sembra che tu stia lanciando uno script nel tuo debugger, il che fallisce perché non hai una sessione utente.

Zend Debugger ha una barra degli strumenti del browser ( http: // files.zend.com/help/Zend-Studio-Eclipse-Help/zend_debugger_toolbar.htm ) che ti consente di avviare un debugger per la tua pagina corrente; il debugger avrà tutte le informazioni che il browser avrebbe inviato: cookie, post dati, ecc. C'è anche un "debug pagina successiva" impostazione che consente di eseguire il debug dei moduli POST. Sembra che questo sia quello che vuoi.

Altri suggerimenti

Non sarebbe più facile impostare una costante come:

define('MODE_DEBUG', 1);

Quindi controlla il processo di autenticazione:

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

}

Nessuno sarà in grado di iniettare in quella costante e la cosa peggiore che può accadere è che tu finisca per lasciare la modalità debug sul mio errore ...

Che potresti mettere un segno di spunta prima della definizione:

define('MODE_DEBUG', (false !== strpos(

Non sarebbe più facile impostare una costante come:

define('MODE_DEBUG', 1);

Quindi controlla il processo di autenticazione:

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

}

Nessuno sarà in grado di iniettare in quella costante e la cosa peggiore che può accadere è che tu finisca per lasciare la modalità debug sul mio errore ...

Che potresti mettere un segno di spunta prima della definizione:

<*>SERVER['HTTP_HOST'], 'dev.mysite.com') ? 1 : 0));

Forse hai solo bisogno di ripensare la soluzione di dump (mi piace l'idea di usare i punti di interruzione ma sono tornato indietro dopo il singhiozzo come il tuo esperto e io uso Zend Studio). Per eseguire il debug delle mie applicazioni utilizzo Zend_Log e scrittore di firebug per Zend_Log. Il firebug genera il registro su firebug (NB devi avere < a href = "http://www.firephp.org/" rel = "nofollow noreferrer"> firephp anche per Firefox installato). Memorizza il logger nel tuo registro e puoi eseguire molti debug senza incasinare le tue visualizzazioni con brutti dump.

Ok, quindi ho giocato ancora con il debugger zend. (la tua domanda ha suscitato vecchi demoni) e alla fine ho capito il "proprio" modo per eseguire il debug. Per rispondere alla tua domanda iniziale di debug dopo il login, direi di installare la barra degli strumenti di Zend per Firefox o Internet Explorer. A destra della voce di menu Debug è presente un menu a discesa con alcune opzioni. Una delle opzioni è "pagina successiva". Quindi puoi andare alla schermata di accesso selezionare " Pagina successiva " e quindi inserisci le tue credenziali e invia e la pagina SUCCESSIVA è ciò che è debug.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top