Il s'agit d'un package pour intégrer le bar de débogage PHP avec Laravel. Il comprend un ServiceProvider pour enregistrer le debugbar et le joindre à la sortie. Vous pouvez publier des actifs et le configurer via Laravel. Il amène certains collectionneurs pour travailler avec Laravel et implémente quelques collecteurs de données personnalisés, spécifiques à Laravel. Il est configuré pour afficher les redirections et les demandes AJAX (jQuery). (Montré dans une liste déroulante) Lisez la documentation pour plus d'options de configuration.

Prudence
Utilisez la debugbar uniquement en développement. N'utilisez pas Debugbar sur les sites Web accessibles au public, car il divulguera des informations à partir des demandes stockées (par conception).
Avertissement
Il peut également ralentir l'application (car il doit recueillir et rendre les données). Ainsi, lorsque vous ressentez une lenteur, essayez de désactiver certains collectionneurs.
Ce package comprend des collectionneurs personnalisés:
Bootstraps Les collectionneurs suivants pour Laravel:
Et les collectionneurs par défaut:
Il fournit également une interface de façade ( Debugbar ) pour des messages de journalisation faciles, des exceptions et du temps
Nécessitent ce package avec le compositeur. Il est recommandé de ne nécessiter que le package pour le développement.
composer require barryvdh/laravel-debugbar --devLaravel utilise la découverte automatique du package, donc vous ne vous oblige pas à ajouter manuellement le ServiceProvider.
Le Debugbar sera activé lorsque APP_DEBUG est true .
Si vous utilisez un itinéraire de fourre-tout / rendement, assurez-vous de charger le Debugbar ServiceProvider avant votre propre application ServiceProviders.
Si vous n'utilisez pas de découverte automatique, ajoutez le ServiceProvider à la liste des fournisseurs. Pour Laravel 11 ou plus récent, ajoutez le ServiceProvider dans bootstrap / fournissers.php. Pour Laravel 10 ou plus, ajoutez le ServiceProvider dans config / app.php.
Barryvdh Debugbar ServiceProvider::class, Si vous souhaitez utiliser la façade pour enregistrer les messages, ajoutez-le dans la méthode du register de app/Providers/AppServiceProvider.php Classe:
public function register (): void
{
$ loader = Illuminate Foundation AliasLoader:: getInstance ();
$ loader -> alias ( ' Debugbar ' , Barryvdh Debugbar Facades Debugbar::class);
} Le profileur est activé par défaut, si vous avez app_debug = true. Vous pouvez remplacer cela dans la configuration ( debugbar.enabled ) ou en définissant DEBUGBAR_ENABLED dans votre .env . Voir plus d'options dans config/debugbar.php Vous pouvez également définir votre configuration si vous souhaitez également inclure / exclure les fichiers du fournisseur (Fontawesome, Highlight.js et jQuery). Si vous les utilisez déjà dans votre site, définissez-le sur False. Vous pouvez également afficher les vendeurs JS ou CSS, en le définissant sur «JS» ou «CSS». (Highlight.js nécessite à la fois CSS + JS, donc réglé sur true for Syntax Stressing)
php artisan vendor:publish --provider= " BarryvdhDebugbarServiceProvider " Assurez-vous d'ajouter Laraveldebugbar à votre liste Flush dans config/octane.php .
' flush ' => [
Barryvdh Debugbar LaravelDebugbar::class,
], Pour Lumen, enregistrez un autre fournisseur dans bootstrap/app.php :
if ( env ( ' APP_DEBUG ' )) {
$ app -> register ( Barryvdh Debugbar LumenServiceProvider::class);
}Pour modifier la configuration, copiez le fichier dans votre dossier de configuration et activez-le:
$ app -> configure ( ' debugbar ' );Vous pouvez désormais ajouter des messages à l'aide de la façade (lorsqu'il est ajouté), en utilisant les niveaux PSR-3 (débogage, informations, notification, avertissement, erreur, critique, alerte, urgence):
Debugbar:: info ( $ object );
Debugbar:: error ( ' Error! ' );
Debugbar:: warning ( ' Watch out… ' );
Debugbar:: addMessage ( ' Another message ' , ' mylabel ' );Et démarrer / arrêter le timing:
Debugbar:: startMeasure ( ' render ' , ' Time for rendering ' );
Debugbar:: stopMeasure ( ' render ' );
Debugbar:: addMeasure ( ' now ' , LARAVEL_START , microtime ( true ));
Debugbar:: measure ( ' My long operation ' , function () {
// Do something…
});Ou des exceptions de journal:
try {
throw new Exception ( ' foobar ' );
} catch ( Exception $ e ) {
Debugbar:: addThrowable ( $ e );
}Il existe également des fonctions d'assistance disponibles pour les appels les plus courants:
// All arguments will be dumped as a debug message
debug ( $ var1 , $ someString , $ intValue , $ object );
// `$collection->debug()` will return the collection and dump it as a debug message. Like `$collection->dump()`
collect ([ $ var1 , $ someString ])-> debug ();
start_measure ( ' render ' , ' Time for rendering ' );
stop_measure ( ' render ' );
add_measure ( ' now ' , LARAVEL_START , microtime ( true ));
measure ( ' My long operation ' , function () {
// Do something…
});Si vous le souhaitez, vous pouvez ajouter vos propres DataCollecteurs, via le conteneur ou la façade:
Debugbar:: addCollector ( new DebugBar DataCollector MessagesCollector ( ' my_messages ' ));
//Or via the App container:
$ debugbar = App:: make ( ' debugbar ' );
$ debugbar -> addCollector ( new DebugBar DataCollector MessagesCollector ( ' my_messages ' )); Par défaut, le debugbar est injecté juste avant </body> . Si vous souhaitez injecter le debugbar vous-même, définissez l'option de configuration 'Inject' sur False et utilisez le rendu vous-même et suivez http://phpdebugbar.com/docs/renring
$ renderer = Debugbar:: getJavascriptRenderer ();Remarque: ne pas utiliser l'auto-injection, désactivera les informations de demande, car cela est ajouté après la réponse. Vous pouvez ajouter lecteur de données de défaut_Request dans la configuration comme alternative.
Vous pouvez activer ou désactiver le débogage pendant le temps d'exécution.
Debugbar:: enable ();
Debugbar:: disable ();NB. Une fois activées, les collectionneurs sont ajoutés (et pourraient produire des frais généraux supplémentaires), donc si vous souhaitez utiliser la debugbar en production, désactivez dans la configuration et activez uniquement en cas de besoin.
Debugbar se souvient des demandes précédentes, que vous pouvez afficher à l'aide du bouton Parcourir à droite. Cela ne fonctionnera que si vous activez debugbar.storage.open dans la configuration. Assurez-vous de le faire uniquement sur le développement local, car sinon d'autres personnes pourront afficher les demandes précédentes. En général, Debugbar ne doit être utilisé que localement ou du moins restreint par IP. Il est possible de passer un rappel, qui recevra l'objet de demande, afin que vous puissiez déterminer l'accès au stockage OpenHandler.
Laravel Debugbar est livré avec deux brindilles extensions. Ceux-ci sont testés avec RCrowe / Twigbridge 0.6.x
Ajoutez les extensions suivantes à votre configbridge config / extensions.php (ou enregistrez les extensions manuellement)
' BarryvdhDebugbarTwigExtensionDebug ' ,
' BarryvdhDebugbarTwigExtensionDump ' ,
' BarryvdhDebugbarTwigExtensionStopwatch ' , L'extension de vidage remplacera la fonction de vidage aux variables de sortie à l'aide de la forme de données. L'extension de débogage ajoute une fonction debug() qui transmet des variables au collecteur de messages, au lieu de l'afficher directement dans le modèle. Il jette les arguments, ou lorsqu'il est vide; Toutes les variables de contexte.
{{ debug() }}
{{ debug( user , categories ) }}L'extension du chronomètre ajoute une balise de chronomètre similaire à celle de Symfony / Silex Twigbridge.
{% stopwatch " foo " %}
…some things that gets timed
{% endstopwatch %}