onigoetz / profiler
1.0.0-beta
2013-06-30 11:28 UTC
Requires
- php: >=5.3.0
- illuminate/support: 4.0.x
- symfony/stopwatch: 2.2.x
This package is auto-updated.
Last update: 2022-02-01 12:25:17 UTC
README
已弃用
该项目不再维护,我将不会为其提供支持。
我建议使用Laravel Debugbar或PHP Debugbar。
安装
使用以下命令将此依赖项添加到composer.json
文件中:composer require-dev onigoetz/profiler:dev-master
并在您的configuration/app.php
文件中添加以下内容。这将允许分析器仅在本地加载,而不会干扰您的生产构建。
'providers' => array( 'Onigoetz\Profiler\Support\Laravel\ProfilerServiceProvider', ... ), 'aliases' => array( ... 'Stopwatch' => 'Onigoetz\Profiler\Stopwatch' ... ) ``` Then do `./artisan asset:publish onigoetz/profiler` to publish the javascript/css files ## Configuration By default, the profiler will run only in environment that are not "production" You can override all default values by doing `./artisan config:publish onigoetz/profiler` and editing the `profiler.php` file. ### Options - `environments` An array of environments on which the profiler may be shown - `assets_auto` If set to true (default) it will include its assets itself, you can disable this to add the assets to your own build process - `panels` An array of classes that extend `Onigoetz\Profiler\Panel` you can add your own panels and reorder them. - `slow_query` Threshold in milliseconds after which it is considered slow ## Panels All panels are work in progress for the moment, many changes may happen ### Time This panel provides a way to watch for events in a graphical way. You can profile anything anywhere in your code by using the `Stopwatch` facade. It's a facade for a stopwatch heavily inspired from [Stopwatch Symfony component](https://symfony.com.cn/doc/current/components/stopwatch.html), the difference is that mine doesn't support sections As any Laravel Facade you don't have to initialize it, just use it __Example:__ ```php Stopwatch::start('stuff to benchmark'); //do your stuff Stopwatch::stop('stuff to benchmark'); ``` ### Database Provide a list of executed queries and their bindings. Also checks for duplicated queries, based on raw SQL without bindings, small but useful tool to track down which query could be improved ### Router List of declared routes with some more informations ( route name, filter, hostname, action …) Also highlights the current route. (The same informations as the `./artisan routes` + highlighted current route) ### Variables Dump of `$_GET`, `$_POST`, `$_FILES`, `$_COOKIE`, Session, `$_SERVER` and `$_ENV` variables ### Log Registers a new log handler to output the logs from the current run ### Files List of loaded files and their size ### Bookmarklets A list of useful bookmarklets + loaded scripts on the current page ## How it works Each panel is a class that has some methods to do it's stuff * `$data` All data must be stored here, so we can serialize the class easily * `register()` called on `App::before()` here you can register some classes or events * `getData()` retrieve the data and store in `$this->data` * `getName()` return a string with the name, will be used as an id and class in HTML * `render()` return a `View` with the rendered panel * `renderTitle()` return a `PanelTitle` object with the title properties