MENU

PHP开发环境全局使用dd和dump函数

October 26, 2018 • PHP

相信使用过laravel框架的同学都不会对dumpdd这2个命令陌生。这2个函数在平时的开发过程中用的频率是非常的高,而且输出样式对于浏览器以及命令行也是非常的友好。

但是如果你使用的不是laravel而且是其他的框架,比如Codeigniter又或者是Yii等框架,可能默认就不会带有类似的命令。那么本次记录下只要在任何的PHP环境中就能使用dddump函数,就像使用普通函数一样。

介绍

首要,今天要介绍的就是VarDumper我在之前也写过简短的文章,可以参考PHP全局使用Laravel辅助函数dump和dd。但是那一次用的是VarDumper的版本为3.x,这次要使用的是4.x的版本。主要一个比较实用的就是你不需要在单独的配置dd函数,4.x版本已经自动帮你配置好了。

VarDumper

安装

推荐使用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
}

那么我打开浏览器测试

var-dumper结果

如果你和我一样,也是使用了TP5的框架,那么TP5是自带了dump函数的,所以如果你使用dump函数默认是调用了TP5自带的dump函数,而并没有调用var-dumper自带的函数。所以你可以单独写文件测试。

总结

到这里基本上就结束了。写这篇文章主要是var-dumper更新到了4.x的版本。携带了一些好的特性。最重要的是不要每次还要单独写自动加载文件来配置dd函数了。