leeroy / clockwork
浏览器中的PHP开发工具
Requires
- php: >=5.6
- ext-json: *
This package is auto-updated.
Last update: 2024-09-07 05:21:27 UTC
README
Clockwork是一个可直接在浏览器中使用的PHP开发工具。Clockwork可以让你深入了解你的应用程序运行时 - 包括请求数据、性能指标、日志条目、数据库查询、缓存查询、Redis命令、分派的事件、排队的工作、渲染的视图等 - 用于HTTP请求、命令、队列工作项和测试。
此存储库包含Clockwork的服务器端组件。
有关详细信息,请访问Clockwork网站。
安装
通过Composer安装Clockwork库。
$ composer require itsgoingd/clockwork
恭喜你,安装完成!要启用更多功能,例如命令或队列工作项分析,请通过Artisan命令vendor:publish
发布配置文件。
注意:如果你使用Laravel路由缓存,你需要使用Artisan命令route:cache
刷新它。
请访问Clockwork网站上的完整安装说明。
功能
数据收集
Clockwork服务器端组件收集并存储有关你的应用程序的数据。
默认情况下,Clockwork仅在应用程序处于调试模式时激活。你可以选择显式启用或禁用Clockwork,甚至可以将Clockwork设置为始终收集数据而不公开它们以供进一步分析。
我们默认收集大量有用的数据,但你可以在配置文件中启用更多功能或禁用不需要的功能。
一些功能可能允许高级选项,例如对于数据库查询,你可以设置慢查询阈值或启用检测重复(N+1)查询。查看配置文件以了解Clockwork可以做什么。
有几个选项允许你选择Clockwork在哪些请求上激活。
按需模式仅在Clockwork应用程序打开时收集数据。你甚至可以在应用程序设置中指定一个秘密来收集请求。错误记录仅记录以4xx和5xx响应结束的请求。仅慢查询将仅收集响应时间超过设置慢查询阈值的请求。你还可以通过自定义闭包过滤收集和记录的请求。默认情况下,CORS预请求不会收集。
Clockwork 4.1中新增功能,现在也可以收集Artisan命令、队列工作项和测试,你需要在配置文件中启用此功能。
Clockwork还收集有关日志消息或数据库查询等数据的堆栈跟踪。默认情况下收集跟踪的最后10个帧。你可以在配置文件中更改帧限制或禁用此功能。
查看数据
Web界面
打开your.app/clockwork
以查看和交互收集的数据。
应用程序将显示所有已执行请求,这在请求不是由浏览器发出,而是例如你正在为API开发的移动应用程序时非常有用。
浏览器扩展
Chrome和Firefox都提供了浏览器开发工具扩展
工具栏
Clockwork现在为你提供了一个选项,可以在应用程序中显示基本请求信息作为工具栏。
工具栏完全在客户端渲染,需要安装一个小型JavaScript库。
了解更多有关Clockwork网站上的信息。
日志记录
您可以通过clock()辅助函数记录任何变量,从简单的字符串到数组或对象,甚至多个值
clock(User::first(), auth()->user(), $username)
clock()辅助函数返回其第一个参数,因此您可以将内联调试语句轻松添加到代码中
User::create(clock($request->all()))
如果您想指定日志级别,可以使用长格式调用
clock()->info("User {$username} logged in!")
时间线
时间线以可视方式展示您的应用程序运行情况。
要将事件添加到时间线 - 以描述开始,执行跟踪的代码,并完成事件。API提供了进一步配置事件的选项。
// using timeline api with begin/end and fluent configuration clock()->event('Importing tweets')->color('purple')->begin(); ... clock()->event('Importing tweets')->end();
或者,您可以执行跟踪的代码块作为一个闭包。您还可以选择使用基于数组的配置而不是API。
// using timeline api with run and array-based configuration clock()->event('Updating cache', [ 'color' => 'green' ])->run(function () { ... });
在Clockwork网站上了解更多有关可用功能的信息。