使用 Clockwork 来调试 Laravel App

说明

开发过 Rails 程序的朋友应该熟悉 RailsPanel , 是的 Clockwork 是 RailsPanel 的 PHP 版本.

Clockwork 由两个部分组成:

安装

首先安装 Chrome 插件 Clockwork , 然后照着 Github 项目 的 readme 安装服务器端的.

Chrome 插件端

上图, 你们就懂了

这样就能看清楚 App 里面的工作情况了.

How does it work?

详情请见 这里.

简单点解释呢, 如下:

Server side

服务器端收集数据, 并把数据整理为 json 格式输出, 每一次的请求都是有一个独立的 id, 通过 HTTP header 传输给 Chrome 插件, 如下面这两个是这一次返回的 header :

X-Clockwork-Id:1408631499.2148.1282148919
X-Clockwork-Version:1.5

Chrome 插件

Chrome 插件端, 通过上面传输过来的 X-Clockwork-Id header, 按照以下规则, 拼接 URL

/__clockwork/{id}

在此例子中, 得出

http://localhost:8000/__clockwork/1408631499.2148.1282148919

访问以上 URL 可以获取到 服务器端产生的 json 文件, 内容见这个 Gits.

Chrome 插件端拿到 json 数据以后, 就开始解析, 渲染到 console 里面啦.

解释完了, 这个工具真的很帅.

--EOF--


欢迎关注 LaravelTips, 这是一个专注于为 Laravel 开发者服务, 致力于帮助开发者更好的掌握 Laravel 框架, 提升开发效率的微信公众号.

摈弃世俗浮躁,追求技术精湛
本帖已被设为精华帖!
Summer
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6
Summer

嗯, Clockwork 最大的优点是利用 Chrome 的 Console, 不会对原有请求的输入造成干扰, 并且利用 Chrome Console 的特性, 允许保存多次请求的数据, 方便比较.

9年前 评论
Summer

但是, 对于 Chrome 的依赖, 也同时也是他最大的缺点 :smiling_imp:

9年前 评论
Summer

@zhengjinghua 偶尔紧急处理可以派上用场, 但是要小心呀, 暴露了太多数据.

9年前 评论

用了这个就不能用dd了么

5年前 评论

@Summer postgresql可以用这个clockwork包吗?

4年前 评论

能出个最新版本的使用教程么

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!