2014-05-08 57 views
0

這可能很難解釋,但我正在尋找具有一個或一組配置文件的最佳方法,因此如果我需要更新一些它更容易做的事情。 我已寫了具有用於管理側關閉根文件夾的子文件夾中並且包括文件夾是子文件夾關閉根文件夾以及PHP應用程序。(見下文)具有一個PHP配置文件的管理功能

enter image description here

的包括夾有數據庫配置文件,加載公共變量等等。問題是調用數據庫連接的管理文件的路徑明顯不同於根文件夾中的文件。 所以我開始這個,但現在我想知道是否有更好的方法比我要去的路線。

`if($adminfile=="yes") 
    { 
    require('../includes/database/connect.db.php'); 

    } 
    else{ 
    require('includes/database/connect.db.php'); 

    }` 

我真的很感激一些建議,我應該放棄這個想法,並有2位置的配置文件?我的一部分討厭包括在所有的標準代碼$ adminfile =「no」我一直在想有沒有更好的方法。

其他人如何解決這個問題?

+0

您可以通過'require('./ includes/database/connect.db.php');'或'require($ _SERVER ['DOCUMENT_ROOT']'/ includes/database/connect .db.php');' –

回答

0

檢查您的include_path在php.ini或您的本地配置中的值(通過.htaccess爲apache是​​另一種方式來做到這一點。如果添加pa第零至demoinclude_path設置,然後:

include('includes/database/connect.db.php'); 

require_once('includes/database/connect.db.php'); 

將任何文件或子文件工作。

另一種方法是在腳本中包含一個包含所有設置(即不僅僅是數據庫)的引導文件。

更好的方法是通過前端控制器路由所有請求,前端控制器可根據每個請求進行任何設置/拆卸。請參閱PHP Front Controllers

0

您可以在每個文件......它定義你有

define('root', 'demo/'); 

,做

require(root.'includes/database/connect.db.php'); 

,這將很好地工作,你想要求的任何文件的根文件夾定義一個常量