課程
/后端開發(fā)
/PHP
/快速入門ThinkPHP框架—理論篇
3.2 ?debug.php 放在什么位置都不行什么原因
2016-03-23
源自:快速入門ThinkPHP框架—理論篇 6-1
正在回答
以下摘自官方開發(fā)文檔:
如果檢測到應(yīng)用的配置目錄中有存在debug.php文件,則會自動加載該配置文件,并且和系統(tǒng)項目配置文件以及系統(tǒng)調(diào)試配置文件合并,也就是說,debug.php配置文件只需要配置和項目配置文件以及系統(tǒng)調(diào)試配置文件不同的參數(shù)或者新增的參數(shù)。
請注意加粗的文字。
個人理解:
經(jīng)過測試,當(dāng) 項目名稱\Common\Conf\debug.php 下的項存在,且與?項目名稱\Home\Conf\config.php?的項相同的時候,顯示出來的是config.php里面的項的值。
(注意:這兩者的路徑問題)
造成這個現(xiàn)象的原因是:覆蓋 即TP框架首先加載了Common\Conf\debug.php里面的項的值,然后再加載Home\Conf\config.php 里面的相同項的值,進(jìn)行了覆蓋。?
舉個例子:
入口文件:define('APP_DEBUG',true);
項目名稱\Home\Conf\config.phpconfig.php里面定義項為 'name' =>'Lis'
項目名稱\Common\Conf\debug.php里面定義的項為'name' =>'Lis1'
然后 控制器調(diào)用C('name')方法;
瀏覽器最終輸出是:Lis
當(dāng)我們注釋掉config.php里面的?'name' =>'Lis'的時候,
瀏覽器最終輸出是:Lis1
那么問題來了?老師演示的那個是怎么實現(xiàn)的呢?
其實很簡單。
首先目錄如下:
項目名稱\Common\Conf\debug.php
項目名稱\Common\Conf\config.php (看清楚了嗎?config.php的路徑不一樣)
也舉個例子:
項目名稱\Common\Conf\config.phpconfig.php里面定義項為 'name' =>'Lis'
瀏覽器最終輸出:Lis1
總結(jié):
TP3.2和TP3.1的差別很大。但是視頻還是具有一定的學(xué)習(xí)意義的,至少給你自己一個鉆研的機(jī)會吧
框架的加載順序是:先加載Common里面的配置文件 -> Home里面的配置文件
GeorgeYuan
開啟了已經(jīng) 就是沒反應(yīng)
嘿嘿來了
是不是 沒在index.php 中 開啟?define('APP_DEBUG',true); 開啟之后放在 ?muke\App\Conf\debug.php
慕萊塢7581432 提問者
舉報
快速入門ThinkPHP框架教程,掌握ThinkPHP的理論基礎(chǔ)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-07-23
以下摘自官方開發(fā)文檔:
如果檢測到應(yīng)用的配置目錄中有存在debug.php文件,則會自動加載該配置文件,并且和系統(tǒng)項目配置文件以及系統(tǒng)調(diào)試配置文件合并,也就是說,debug.php配置文件只需要配置和項目配置文件以及系統(tǒng)調(diào)試配置文件不同的參數(shù)或者新增的參數(shù)。
請注意加粗的文字。
個人理解:
經(jīng)過測試,當(dāng) 項目名稱\Common\Conf\debug.php 下的項存在,且與?項目名稱\Home\Conf\config.php?的項相同的時候,顯示出來的是config.php里面的項的值。
(注意:這兩者的路徑問題)
造成這個現(xiàn)象的原因是:覆蓋 即TP框架首先加載了Common\Conf\debug.php里面的項的值,然后再加載Home\Conf\config.php 里面的相同項的值,進(jìn)行了覆蓋。?
舉個例子:
入口文件:define('APP_DEBUG',true);
項目名稱\Home\Conf\config.phpconfig.php里面定義項為 'name' =>'Lis'
項目名稱\Common\Conf\debug.php里面定義的項為'name' =>'Lis1'
然后 控制器調(diào)用C('name')方法;
瀏覽器最終輸出是:Lis
當(dāng)我們注釋掉config.php里面的?'name' =>'Lis'的時候,
瀏覽器最終輸出是:Lis1
那么問題來了?老師演示的那個是怎么實現(xiàn)的呢?
其實很簡單。
首先目錄如下:
項目名稱\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'
然后 控制器調(diào)用C('name')方法;
瀏覽器最終輸出:Lis1
總結(jié):
TP3.2和TP3.1的差別很大。但是視頻還是具有一定的學(xué)習(xí)意義的,至少給你自己一個鉆研的機(jī)會吧
框架的加載順序是:先加載Common里面的配置文件 -> Home里面的配置文件
2016-03-25
開啟了已經(jīng) 就是沒反應(yīng)
2016-03-23
是不是 沒在index.php 中 開啟?define('APP_DEBUG',true); 開啟之后放在 ?muke\App\Conf\debug.php