在写php的一个框架,遇到个奇怪的问题....

clipboard.png
第15行要是注释掉

clipboard.png
php报错都没有直接连页面都显示不出来。
p就是一个打印的函数

clipboard.png

可是这个应该是自动加载的类有问题

clipboard.png

程序走到16行 自动加载类的时候 页面就无法访问了。

程序没有报错。

有人能看出大概是什么问题吗

阅读 2.9k
2 个回答

E:\xa\htdocs\Ji/Ji/Core/Application.php
自己已经找到问题了,路径\x 这个包含的时候应该是看成16进制了。
加载的时候路径就变成E:a\htdocs\Ji/Ji/Core/Application.php
貌似是这样的

lz你好,分享个调试函数,功能和你那个p一样

/*-- 调试输出函数 --*/
function d($val='', $name='', $type = false) {
    static $i = 1;
    ($i < 2) && header('Content-Type:text/html;charset=utf8');
    $dbArr = debug_backtrace();
    $dbStr = '<span style="padding-left:15px;/*color:#aaa;*/">{Path:';
    isset($dbArr[0]) && ($dbStr .= $dbArr[0]['file'] . ' [line:'.$dbArr[0]['line'].']');
    $dbStr .= '}</span>';
    $str  = '<hr /><pre style="-moz-border-radius:8px;width:99%;overflow:auto;margin:0;padding:1px 6px 6px;font-size:15px;border:1px solid #BBB;background-color:#DDD;color:green;">';
    $nameTmp = str_replace('die', '', $name);
    $str .= ($nameTmp === '') ? '<h3 style="background-color:#AAA;padding:2px 0 2px 3px;margin:0 0 15px;border-bottom:1px dashed #666;font-weight:normal;">{'.$i++.'}'.$dbStr.'</h3>'
                              : ('<h3 style="background-color:#AAA;padding:2px 0;margin:0 0 15px;border-bottom:1px dashed #666;"><span style="font-weight:normal;padding-left:3px;margin:0 10px 0 0;">{'.$i++.'}</span>'.$nameTmp.''.$dbStr.'</h3>');
    echo $str;
    ($type || empty($val)) ? var_dump($val) : print_r($val);
    echo '</pre><hr />';
    (strpos($name, 'die') !== false) && die();
}

使用方法:
d($var)
d($var, 'dieABC'); ABC为变量的一些说明,如果说明字符中带有die字符串,程序会输出后die()
另外还可以显示出当前调试函数在哪个文件哪一行被添加,方便找到调试位置。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题