leeroy/clockwork

浏览器中的PHP开发工具

资助包维护!
itsgoingd

v5.1.1 2022-11-07 01:17 UTC

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网站上了解更多有关可用功能的信息。