使用 Clockwork 来调试 Laravel App

教程 Summer ⋅ 于 3年前 ⋅ 最后回复由 大鼻涕过河 1周前 ⋅ 10018 阅读

说明

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


:book: Laravel 书籍:

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

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

  • 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年前

    尝试用一下

  • caoglish
    3年前

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

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

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter