使用 Clockwork 来调试 Laravel App

教程 Summer ⋅ 于 3年前 ⋅ 最后回复由 大鼻涕过河 2个月前 ⋅ 12492 阅读

说明

开发过 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 框架, 提升开发效率的微信公众号.

本文章首发在 Laravel China 社区

Practice makes perfect.

本帖已被设为精华帖!
回复数量: 10
  • lifesign Learn From Life 1
    3年前

    这个没太试过 还有一个 laravel-debugbar 稍微火点。。

  • caoglish
    3年前

    @Summer 其实可以把代码封装一下,用加上 debug 标记,如果需要 debug, 就true,不需要,就 false,在 Laravel 下可以直接使用 Config::get("app.debug") 设置进行控制

  • Summer MOD A Life-long learner.
    3年前

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

  • Summer MOD A Life-long learner.
    3年前

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

  • lifesign Learn From Life
    3年前

    嗯 好多都是服务端和客户端一起的 比如chromephp,firephp,laravel-debugbar都是。

  • weelion 野生人类一名
    3年前

    这个确实不错:+1:

  • monkey 最重要的事,永远只有一件
    3年前

    我尝试使用了这个插件,简直好用的让我发疯,尤其用来实时调整、查看线上的网站问题。

  • Summer MOD A Life-long learner.
    3年前

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

  • JobsLong 那么,下一步的行动是什么?
    3年前

    尝试用一下

  • 大鼻涕过河
    3年前

    这玩意每次请求都会生成文件保存在硬盘上.太不爽了

暂无评论~~
您需要登陆以后才能留下评论!

Composer 中国全量镜像

Top 100 扩展包

Lumen 中文文档

Laravel 速查表

Laravel 中文文档

Laravel 项目开发规范

Laravel 开发环境部署

社区文档撰写指南

TDD 构建 Laravel 论坛笔记

PHP PSR 标准规范

PHP 设计模式全集

Dingo API 中文文档