sebklaus/profiler

用于 Laravel 4 的性能分析器。juy/profiler 的后续版本。

v1.7.6 2014-08-10 15:05 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:10:29 UTC


README

一个用于 Laravel 4.0, 4.1, 4.2 的 PHP 5.3 性能分析器。
后端基于 sorora/omni,前端基于 loic-sharma/profiler。一些功能受到 papajoker/profiler 的启发,一些功能由 juy/profiler 提供,并增加了我的改进。

Latest Stable Version Total Downloads

不同的主题

深色

浅色

功能

  • 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 updatecomposer 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))),

如果 profilerNULLFALSEurlToggleTRUE 且您的应用程序正在 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 部分中着色 - 颜色可能会在未来改变,以更准确地反映日志类型。