EditorConfig
EditorConfig用于在不同操作系统或编辑器之间保持统一的风格,比如空格与TAB、回车与换行等。TAB的宽度可以设置为4个空格或8个,如果按空格来显示就会造成缩进的错开,样式不一致。另外还有windows下的文件在linux下打开行尾^M的情况,这是因为UNIX格式的换行符为OA<LF\>
,DOS的换行符为OD OA<CR><LF>
,
不同项目的缩进在空格与TAB的选择上也有区别,比如CI、FuelPHP中使用的是TAB,现在了解的dagger中使用的是4个空格,此时就可以使用EditorConfig,通过过修改配置文件.editorconfig,设置indent_style=space indent_size=4
就行了,项目之外的依旧是TAB。
官网上直接下载对应编辑器的插件,安装完成后在项目根目录下新建.editorconfig文件,可设置root、end_of_line、charset、indent_style、indent_size等。
xhprof
xhprof是一个分层PHP性能分析工具,可以获得PHP中具体函数执行时内存使用情况、CPU运行时间等,对于PHP性能的调优很有帮助。
目前最新版本未0.9.4,需要编译安装
|
|
安装完成后会生成xhprof.so,在php.ini中添加如下
|
|
此时,我们新建一个test.php文件,测试随机生成100个数然后排序的性能
|
|
浏览器访问test.php,得到一个url,访问该url会看到函数的调用、内存CPU的使用情况。
Graphviz
graphviz是贝尔实验室开发的一个开源的工具包,它使用一个特定的DSL(领域特定语言):dot作为脚本语言,然后使用布局引擎来解析此脚本,并完成自动布局。graphviz提供丰富的导出格式,如常用的图片格式,SVG,PDF格式等。使用Graphviz可以让上面的页面更直观漂亮些。
不过在安装graphviz之前需要先安装libpng库,这是因为生成的图片是png格式的,如果没有该库,点击[View Full Callgraph]的时候,提示如下:Error: either we can not find profile data for run_id 4d7f0bd99a12f or the threshold 0.01 is too small or you do not have ‘dot’ image generation utility installed.
|
|
这时候点击[View Full Callgraph]就可以看到漂亮的图片了
php console
控制台中调试php:github chrome web store
PHP Ninja Manual
php手册的chrome插件:chrome web store
Chrome MySQL Admin
MySQL 的chrome插件: chrome web store
参考资料