由于日常工作中,大半时间要在终端里面。然后很多情况下,都需要对数据库查询到的结果进行分析,或者是对一个PHP接口进行检查。这段时间我都是靠着Google Chrome的json-handle插件来查看,效果其实还行,就是每次都要打开一个窗口,输入链接,再点击刷新,整个过程还是很耗时的。
然后,我就给自己做了几个工具。这样我就能在控制台下查看我想查看的信息了。
接口查看工具
PHP对于PHP接口文件在终端下的调试基本上是:
php xx.php
但是这样的话,输出效果很糟糕。格式什么的都不能保证,而且很乱。
这个时候其实要是可以在终端下输出格式良好的JSON数据,就不用再通过浏览器,输入链接,刷新。这一系列的操作了。
php xx.php | python -m json.tool
核心思路就是这样了,然后我又用Python包装了一下。大致的使用流程是这样的。
先来一个待测试的接口文件 test.php
<?php
$result = array('姓名'=>'菜鸟', 'address'=>'MIT', 'users'=>array(201492323,4343234,4342524545,54 54));
echo json_encode($result);
然后就可以通过interfacetools.py进行调试了。
python interfacetools.py test.php
终端数据库执行器
最近在公司,每次都要通过查看代码中的数据库连接信息来远程连接到服务器。时间长了就显得很郁闷了。于是我又做了一个这样的工具。
那么换张表会怎样呢?会不会出现乱序的问题呢?答案自然是不会的了。来看另一张表的运行情况会怎样。
下面来看下使用方法吧,相信会让你一下就明白了的。
清单工具
因为是在VIM下写代码,所以对一个很大的而且不熟悉的文件中有哪些类,类中有哪些方法。或者文件内定义了哪些函数,函数的参数是什么。这些都比较让人头疼。
然后再来一个让自己顺心点的工具吧,主要是借助了正则表达式。
主要有以下两类:
- 接口文件: 对request中的action进行探查。
- 类文件: 对类方法的探查。
区分这连那个中文件的标志就是在这个工具中用一个type进行区分。
使用之前,先将本地服务跑起来。
python generate.py
然后在浏览器上输入链接,格式为:
http://localhost/generate?type=type&path=filepath
然后就可以方便的探查文件内的信息了。
type=action
type=class
总结
目前的话,时间有限,就先写这俩比较实用的工具,接下来我还想对redis和memcache的key相关做一个分析的工具,这样还能省去不少时间在无聊的操作上。
但是貌似输入这一大串字符还是有点啰嗦,所以可以借助:alias命令来简化操作。
最后附上GitHub的地址,有兴趣的可以自行下载源码,使用。