PHP全栈工程师技术专题

TP5 如何像Laravel dd()一样优雅输出

2019-03-26  本文已影响28人  Raybon_lee

简介

步骤:

新版本和旧版本区别

if (! function_exists('dd')) {
    /**
     * Dump the passed variables and end the script.
     *
     * @param  mixed
     * @return void
     */
    function dd(...$args)
    {
        foreach ($args as $x) {
            (new Dumper)->dump($x);
        }

        die(1);
    }
}
if (!function_exists('dd')) {
    function dd(...$vars)
    {
        foreach ($vars as $v) {
            VarDumper::dump($v);
        }

        die(1);
    }
}

使用

function dd(...$args)
{
    http_response_code(500);
    array_walk($args, [new Illuminate\Support\Debug\Dumper, 'dump']);
    die(1);
}

如果依赖的包是最新版本选择下面这段:

header("Content-type: text/html; charset=utf-8");
if (version_compare(PHP_VERSION, '5.6', '<')) {
    die('PHP版本过低,最少需要PHP5.6,请升级PHP版本!');
}

// 定义后台入口文件
define('ADMIN_FILE', 'admin.php');
// 入口dd
function dd(...$args)
{
    http_response_code(500);
    array_walk($args, [VarDumper::class, 'dump']);
    die(1);
}
// 加载基础文件
require __DIR__ . '/../thinkphp/base.php';

// 支持事先使用静态方法设置Request对象和Config对象

// 检查是否安装
if(!is_file('../data/install.lock')){
    define('BIND_MODULE', 'install');
    Container::get('app')->bind('install')->run()->send();
} else {
    // 执行应用并响应
    Container::get('app')->run()->send();
}
上一篇下一篇

猜你喜欢

热点阅读