相信使用过laravel框架的同学都不会对dump
和dd
这2个命令陌生。这2个函数在平时的开发过程中用的频率是非常的高,而且输出样式对于浏览器以及命令行也是非常的友好。
但是如果你使用的不是laravel而且是其他的框架,比如Codeigniter
又或者是Yii
等框架,可能默认就不会带有类似的命令。那么本次记录下只要在任何的PHP环境中就能使用dd
及dump
函数,就像使用普通函数一样。
介绍
首要,今天要介绍的就是VarDumper我在之前也写过简短的文章,可以参考PHP全局使用Laravel辅助函数dump和dd。但是那一次用的是VarDumper的版本为3.x,这次要使用的是4.x的版本。主要一个比较实用的就是你不需要在单独的配置dd函数,4.x版本已经自动帮你配置好了。
安装
推荐使用composer安装
composer global require symfony/var-dumper
这里我们安装的是全局,所以不单单仅限一个项目。安装好以后你应该会在你的全局composer目录下找到这个包。全局composer组件目录一般位于${HOME}/.composer/vendor/
中。
配置
打开你的php.ini
文件(自己找)。然后搜索找到auto_prepend_file
配置,这个默认是注释的,然后取消注释(去掉前面的分号),将值修改为${HOME}/.composer/vendor/autoload.php
。比如我的配置为
auto_prepend_file=/Users/lePig/.composer/vendor/autoload.php
完事后,如果你使用的是Apache那么重启你的httpd
进程,如果是Nginx那么重启php-fpm
进程。
使用
最后,你可以在你的现有框架(非laravel)或者你自己新建一个.php
文件来进行测试。
比如我在一个ThinkPHP5的框架中新建了一个控制器,然后新建了一个index方法,如下
public function index()
{
$client = new Client([
'timeout' => 3
]);
$response = $client->get('http://example.com/api.php');
dd(json_decode($response->getBody()->getContents(), true)); //array
}
那么我打开浏览器测试
如果你和我一样,也是使用了TP5的框架,那么TP5是自带了dump函数的,所以如果你使用dump函数默认是调用了TP5自带的dump函数,而并没有调用var-dumper自带的函数。所以你可以单独写文件测试。
总结
到这里基本上就结束了。写这篇文章主要是var-dumper更新到了4.x的版本。携带了一些好的特性。最重要的是不要每次还要单独写自动加载文件来配置dd
函数了。