2013-07-19 127 views
1

我使用codeigniter和git這個項目。Codeigniter創建自定義配置文件

是否有可能爲每個不同的開發人員以及開發和生產分支之間創建自定義配置文件。因爲在開發和主分支之間,我們對數據庫登錄憑證和其他變量有不同的值。

我希望實現的是在config文件夾中的config.php文件,有一些像 $這個 - >負載>文件(「Developer_file」)

其中「Developer_file」是文件的每個不同的開發者

我現在只是在配置文件夾中的config.php文件中包含所有配置變量,只是希望有一個更清晰的方法來做到這一點。

回答

3

我覺得environments是去這裏的路。它已經構建在CI中,因此您不需要製作自己的系統。

我有一個類似的設置,因爲我認爲:GIT + CI和多個開發人員。

您可以根據需要添加任意數量,並輕鬆創建單獨的配置文件,例如數據庫連接和路徑。在您的項目index.php中,您將定義開發人員或站點環境。

define('ENVIRONMENT', 'development'); 

所以,你將有一個config文件夾結構是這樣的:

/application 
    /config 
     /development 
     /other-dev 
     /staging 
     /production 

關注,如果你使用git,你不包括在回購協議index.php(或至少不使用該名稱)。您必須手動上傳。

+0

這看起來不錯。所以對於index.php我必須git忽略它呢? – edelweiss

+0

我會推薦它。否則你會繼續覆蓋其他索引文件。因爲他們曾經定義了你所處的具體環境。 – bottleboot

+0

您可以隨時以不同的名稱保存索引文件的副本。例如:'''index_copy.txt'''這樣,您可以複製該文件並在您將應用安裝在其他位置時將其重命名。 – bottleboot

0

您可以嘗試這樣想:

  1. 不同的配置文件添加到config文件夾。

  2. index.php定義一些常量,像這樣define('DEVELOPER_TYPE', 'developer');

  3. 變化config/autoload.php。事情是這樣的:

    switch(DEVELOPER_TYPE){ 
        case 'developer': 
         $autoload['config'] = array('developer_config'); 
         break; 
        case 'tester': 
         $autoload['config'] = array('tester_config'); 
         break; 
    }