使用 Clockwork 扩展在 Chrome 浏览器中显示 Laravel 应用调试信息
之前我们已经介绍了一款在Laravel中很流行的调试工具Debugbar,今天我们来介绍另外一款 ——Clockwork。
Clockwork是一个用于PHP开发调试的Chrome扩展工具,该扩展工具在chrome浏览器的开发者工具中新增了一个名为Clockwork的面板,用于显示所有对调试和分析PHP代码有用的信息,这些信息包括请求、头、get/post数据、cookies、Session、数据库查询、路由、运行时间、日志等等。
安装该扩展很简单,只需在 Chrome网上应用店 搜索Clockwork并安装即可。安装完成,在页面F12即可看到开发者工具新增Clockwork面板:
这里的Clockwork只是个客户端工具,俗话说一个巴掌拍不响,如果要完成相关数据显示,还需要在服务器端实现相应代码。
首先,我们需要使用Composer安装Clockwork依赖包:
composer require itsgoingd/clockwork ~1.11.1
需要说明的是,该依赖包独立于Laravel,支持Laravel、Lumen、Slim 2以及CodeIgniter 2.1等框架。这里我们仅演示如何在Laravel中的用法,更多使用示例请参考其Github项目: https://github.com/itsgoingd/clockwork 。
和其他扩展包一样,首先我们需要在 config/app.php 中注册服务提供者和门面:
'providers' => array( ... Clockwork\Support\Laravel\ClockworkServiceProvider::class)'aliases' => array( ... Clockwork' => 'Clockwork\Support\Laravel\Facade::class,)
然后我们还需要在app/Http/Kernel.php中注册Clockwork中间件:
protected $middleware = [ Clockwork\Support\Laravel\ClockworkMiddleware::class, ...]
出了从容器中获取实例以及使用门面之外,Clockwork扩展还为我们提供了辅助函数 clock() 用于添加记录到Clockwork日志已经添加事件到Timeline,下面我们就以 clock() 为例演示Clockwork的使用:
Route::get('test', function () { clock()->startEvent('event_name', 'LaravelAcademy.org'); //事件名称,显示在Timeline中 clock('Message text.'); //在Clockwork的log中显示'Message text.' logger('Message text.'); //也Clockwork的log中显示'Message text.' clock(array('hello' => 'world')); //以json方式在log中显示数组 //如果对象实现了__toString()方法则在log中显示对应字符串, //如果对象实现了toArray方法则显示对应json格式数据, //如果都没有则将对象转化为数组并显示对应json格式数据 clock(new Object()); clock()->endEvent('event_name');});
在浏览器中显示如下:

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Alipay PHP...

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo
