2014-11-18 10 views
5

Ho visto il debugbar di barryvdh, ma sembra funzionare solo quando servi le pagine. Ogni singola risposta dal mio sito è application/json.Ci sono Laravel Profiler che funzionano con le API JSON?

C'è qualche opzione nascosta che mi manca nel bar di barryvdh o c'è un'altra opzione per il profiling della mia app L4?

Non sto chiedendo il posizionamento o le opinioni, solo un collegamento a qualsiasi profiler che può semplicemente scaricare i risultati in un file Array o di registro.

+0

Hai mai usato [xdebug] (http://www.xdebug.org/docs/)? Ha un utile [profiler] (http://www.xdebug.org/docs/profiler). –

risposta

-3

Prova estensione Google Chrome POSTMAN.

+2

Postman non è un profiler. È un gran bel software (e l'ho pagato), ma non proprio applicabile a questo problema. –

3

Quindi, ero frustrato con la soluzione che ho descritto in precedenza e andato avanti e ha creato un fork di laravel-DebugBar che ha fatto esattamente quello che stavo cercando:

https://github.com/Dukeman330/laravel-debugbar

Fondamentalmente ho imbullonato su una " debugbar "route, controller e view che apre una versione a schermo intero della barra di debug, semplificando la lettura dei file di debug emessi dalle query ajax. Se si vuole dare a questo un colpo, aggiornare il composer.json come segue:

"repositories": [{ 
     "type": "vcs", 
     "url": "https://github.com/Dukeman330/laravel-debugbar.git" 
}], 
"require": { 
    "barryvdh/laravel-debugbar": "dev-master" 
}, 

Quindi, effettuare le chiamate Ajax come si farebbe normalmente e vedere il risultato, navigare [your-site]/debugbar in un browser.


risposta precedente:

Questo non è esattamente una soluzione ideale, ma ho lavorato intorno allo stesso problema attraverso la creazione di un po 'pagina 'profiler' che rende la mia uscita JSON con la barra profiler. Ho creato un profiler.blade.php con il seguente:

<html> 
    <body> 
    <pre>{{json_encode($data, JSON_PRETTY_PRINT)}}</pre> 
    </body> 
</html> 

Poi, ogni volta che voglio al profilo una funzione che sto costruendo, piuttosto che return $output; corro qualcosa di simile:

return \View::make('profiler', ['data' => $output]);

Anche in questo caso, non ideale poiché la cosa che chiama la tua API di resto non saprà come gestire questo output, ma funziona piuttosto bene se stai sviluppando l'API in un browser.

+0

piuttosto buono per personalizzare il debugbar per le API JSON – efinal

+0

@ chris-garson Ho fatto esattamente quello che hai menzionato, e vedo il debugbar che lavora sulle solite pagine, ma non posso visitare/debugbar page, perché nel tuo pacchetto il controller richiesto non esiste. Esiste solo nel tuo repository, potresti aggiornare la tua risposta? Grazie. – user1016265

1

È possibile utilizzare

print_r($response); 

invece di

return response()->json($response); //comment it 

e aprirlo in un browser (per le richieste GET);

E 'importante che non ritorni niente

Problemi correlati