为了账号安全,请及时绑定邮箱和手机立即绑定

debug.php调试文件应该放哪里

3.2  debug.php 放在什么位置都不行什么原因

正在回答

3 回答

以下摘自官方开发文档:

如果检测到应用的配置目录中有存在debug.php文件,则会自动加载该配置文件,并且和系统项目配置文件以及系统调试配置文件合并,也就是说,debug.php配置文件只需要配置和项目配置文件以及系统调试配置文件不同的参数或者新增的参数

请注意加粗的文字。

个人理解:

经过测试,当 项目名称\Common\Conf\debug.php 下的项存在,且与 项目名称\Home\Conf\config.php 的项相同的时候,显示出来的是config.php里面的项的值。

(注意:这两者的路径问题)

造成这个现象的原因是:覆盖 即TP框架首先加载了Common\Conf\debug.php里面的项的值,然后再加载Home\Conf\config.php 里面的相同项的值,进行了覆盖。 

举个例子:

入口文件:define('APP_DEBUG',true);

项目名称\Home\Conf\config.phpconfig.php里面定义项为 'name' =>'Lis'

项目名称\Common\Conf\debug.php里面定义的项为'name' =>'Lis1'

然后 控制器调用C('name')方法;

浏览器最终输出是:Lis


当我们注释掉config.php里面的 'name' =>'Lis'的时候,

浏览器最终输出是:Lis1


那么问题来了?老师演示的那个是怎么实现的呢?

其实很简单。

首先目录如下:

项目名称\Common\Conf\debug.php

项目名称\Common\Conf\config.php (看清楚了吗?config.php的路径不一样)


也举个例子:

入口文件:define('APP_DEBUG',true);

项目名称\Common\Conf\config.phpconfig.php里面定义项为 'name' =>'Lis'

项目名称\Common\Conf\debug.php里面定义的项为'name' =>'Lis1'

然后 控制器调用C('name')方法;

浏览器最终输出:Lis1

总结:

  1. TP3.2和TP3.1的差别很大。但是视频还是具有一定的学习意义的,至少给你自己一个钻研的机会吧

  2. 框架的加载顺序是:先加载Common里面的配置文件 -> Home里面的配置文件

3 回复 有任何疑惑可以回复我~
#1

GeorgeYuan

按照你的方法还是不行,一点用都没有哇
2016-08-09 回复 有任何疑惑可以回复我~

开启了已经 就是没反应

0 回复 有任何疑惑可以回复我~
#1

嘿嘿来了

3.2 同没有反应
2016-07-06 回复 有任何疑惑可以回复我~

是不是 没在index.php 中 开启 define('APP_DEBUG',true); 开启之后放在  muke\App\Conf\debug.php

0 回复 有任何疑惑可以回复我~
#1

慕莱坞7581432 提问者

3.2版本 是muke/app/home/ conf/
2016-03-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
快速入门ThinkPHP框架—理论篇
  • 参与学习       89139    人
  • 解答问题       562    个

快速入门ThinkPHP框架教程,掌握ThinkPHP的理论基础

进入课程

debug.php调试文件应该放哪里

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信