sebklaus / profiler
用于 Laravel 4 的性能分析器。juy/profiler 的后续版本。
Requires
- php: >=5.3.0
- illuminate/support: ~4
README
一个用于 Laravel 4.0, 4.1, 4.2 的 PHP 5.3 性能分析器。
后端基于 sorora/omni,前端基于 loic-sharma/profiler。一些功能受到 papajoker/profiler 的启发,一些功能由 juy/profiler 提供,并增加了我的改进。
不同的主题
深色
浅色
功能
- Laravel 环境信息,兼容 4.0.x 和 4.1.x
- 总内存使用量
- 当前控制器/操作信息
- 路由
- 日志事件
- 带有语法高亮的 SQL 查询日志
- 总执行时间
- 自定义 "检查点",更多详情请见 自定义计时器。
- 包括所有应用程序文件
- 传递给当前视图的所有变量
- 会话变量
- Laravel 配置设置
- Laravel 网络服务器错误日志
- Laravel 认证变量(如果使用)
- Sentry 认证变量(如果使用)
- 通过 URL 启用/禁用(将 /_profiler 添加到任何 URL 的末尾(例如,https:///folder/_profiler))
- 两种不同的主题;深色和浅色。
安装
要将 Profiler 添加到您的 Laravel 应用程序,请将以下行添加到您的 composer.json
文件中,在 "require": { … }
"sebklaus/profiler" : "dev-master"
然后运行 composer update
或 composer install
,如果是第一次安装包。
最后一步是将以下行添加到 app/config/app.php
(或适当的 app.php
环境)中 providers
数组的末尾。
'Sebklaus\Profiler\Providers\ProfilerServiceProvider',
配置
为了能够更改 Profiler 的默认设置,运行以下命令发布配置文件:
php artisan config:publish sebklaus/profiler
要更改默认设置,请编辑 app/config/packages/sebklaus/profiler/config.php
。
Profiler
将此选项设置为 FALSE
以禁用 Profiler 或 TRUE
以启用它。默认 NULL
使用 app/config/app.php
(或适当的 app.php
环境)中的 debug
设置来启用/禁用。
// config.php
'profiler' => NULL,
要能够通过 URL 启用/禁用 Profiler(将 /_profiler 添加到任何 URL 的末尾(例如,https:///folder/_profiler)),请将 urlToggle
选项设置为 TRUE
// config.php
'urlToggle' => FALSE,
您将被重定向回您开始请求的页面(例如,https:///folder)。
如果您在 v1.6.0 之前安装了 Profiler 并发布了配置设置,请将上述
urlToggle
元素添加到/app/config/packages/sebklaus/profiler/config.php
中的数组中,或再次运行php artisan config:publish sebklaus/profiler
。运行php artisan config:publish sebklaus/profiler
将替换配置文件,所以请确保您已恢复所需的设置。
// config.php
'urlTogglePassword' => \Hash::make((string) mt_rand(0, microtime(true))),
如果 profiler
是 NULL
或 FALSE
且 urlToggle
是 TRUE
且您的应用程序正在 production
环境中运行,您将要求输入为 urlTogglePassword
设置的密码以启用 Profiler。
密码验证成功后,Profiler 将在会话期间保持启用状态。
将 (string) mt_rand(0, microtime(true))
更改为您首选的密码以启用 Profiler。
如果您在 v1.7.0 之前安装了 Profiler 并发布了配置设置,请将上面的
urlTogglePassword
元素添加到/app/config/packages/sebklaus/profiler/config.php
中的数组,或者再次运行php artisan config:publish sebklaus/profiler
。运行php artisan config:publish sebklaus/profiler
将替换配置文件,因此请确保您恢复了您想要的设置。
如果您希望在运行时禁用 Profiler,请将以下代码添加到您的脚本中
Config::set('profiler::profiler', false);
您可以通过编辑 btns
数组的值来(重新)排序、禁用以及调整 Profiler 中的各种信息部分的标签和标题
// config.php
'btns' => array(
'environment'=> array('label'=>'ENV','title'=>'Environment'),
'memory'=> array('label'=>'MEM','title'=>'Memory'),
'controller'=> array('label'=>'CTRL','title'=>'Controller'),
'routes'=> array('label'=>'ROUTES'),
'log'=> array('label'=>'LOG'),
'sql'=> array('label'=>'SQL'),
'checkpoints'=> array('label'=>'TIME'),
'file'=> array('label'=>'FILES'),
'view'=> array('label'=>'VIEW'),
'session'=> array('label'=>'SESSION'),
'config'=> array('label'=>'CONFIG'),
'storage'=> array('label'=>'LOGS','title'=>'Logs in storage'),
'auth'=> array('label'=>'AUTH'),
'auth-sentry'=> array('label'=>'AUTH')
),
通过更改 doc
的值,添加您喜欢的(Laravel)文档(或任何您想要的地方)的链接。
此链接在打开的 Profiler 左侧的 Laravel 标志上激活。
// config.php
'doc'=>'https://laravel.net.cn/docs',
jQuery
Profiler 使用 jQuery,如果检测不到,则会自动下载并包含。
用法
自定义计时器
要开始计时器,只需这样做
Profiler::start('my timer key');
要结束计时器,只需像这样调用结束函数
Profiler::end('my timer key');
日志记录
Profiler 使用 Laravel 内置的日志系统并捕获记录的事件。要记录事件,您可以使用(就像使用 Laravel 一样)以下任何一种
Log::debug('Your message here');
Log::info('Your message here');
Log::notice('Your message here');
Log::warning('Your message here');
Log::error('Your message here');
Log::critical('Your message here');
Log::alert('Your message here');
Log::emergency('Your message here');
这些在 Profiler 的 Log
部分中着色 - 颜色可能会在未来改变,以更准确地反映日志类型。