当前位置:  开发笔记 > 编程语言 > 正文

如何编写自己的DD()函数与laravel相同?

如何解决《如何编写自己的DD()函数与laravel相同?》经验,为你挑选了2个好方法。

我使用laravel很长一段时间.目前我在wordpress上工作.我喜欢使用laravel的DD()功能.

但在wordpress中,我只能使用这些,

   print_r(),
   var_dump(),
   var_export()....

这些都只是扩展整个数组对象.

但我需要laravel的扩展关闭机制来处理数组和对象.

我使用以下作为一般dd需要,

if (!function_exists('dd')) {
 function dd()
  {
      echo '
';
      array_map(function($x) {var_dump($x);}, func_get_args());
      die;
   }
 }

它运作良好,但我需要有风格和有组织的列表形式.

可能吗 ?



1> Kaspars..:

Laravel dd使用symfony的VarDump组件.然后你将有一个全局可用的dump函数来格式化输出.唯一的区别是它在转储后不会"死",你必须手动完成 - 但在大多数情况下甚至不是你想要的东西.

    运行composer global require symfony/var-dumper(假设你的wordpress项目中有作曲家)

    添加auto_prepend_file = ${HOME}/.composer/vendor/autoload.php到您的php.ini文件;

    有时,运行composer global update symfony/var-dumper以获得最新的错误修复.

这是VarDumper组件的文档.https://symfony.com/doc/current/components/var_dumper.html

所以你的dd功能可能如下所示:

if (!function_exists('dd')) {
    function dd()
    {
        array_map(function($x) { 
            dump($x); 
        }, func_get_args());
        die;
    }
 }



2> Ngoc Nam..:

d在调试功能包中更新了更多功能和最新的功能代码.

(以下答案大约是1年前.)

======================================

以下是我自己的代码.它可以在普通的PHP(没有框架)中工作.

function d($data){
    if(is_null($data)){
        $str = "NULL";
    }elseif($data == ""){
        $str = "Empty";
    }elseif(is_array($data)){
        if(count($data) == 0){
            $str = "Empty array.";
        }else{
            $str = "";
            foreach ($data as $key => $value) {
                $str .= "";
            }
            $str .= "
" . $key . "" . d($value) . "
"; } }elseif(is_resource($data)){ while($arr = mysql_fetch_array($data)){ $data_array[] = $arr; } $str = d($data_array); }elseif(is_object($data)){ $str = d(get_object_vars($data)); }elseif(is_bool($data)){ $str = "" . ($data ? "True" : "False") . ""; }else{ $str = $data; $str = preg_replace("/\n/", "
\n", $str); } return $str; } function dnl($data){ echo d($data) . "
\n"; } function dd($data){ echo dnl($data); exit; } function ddt($message = ""){ echo "[" . date("Y/m/d H:i:s") . "]" . $message . "
\n"; }

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有