2013-04-05 80 views
0

我正在將現有的FuelPHP應用程序轉移到新的環境中,而且我已經達到了可以添加另一個超出默認環境(即開發,測試,階段,生產),這些都已在別處使用。FuelPHP自定義環境

是否有任何合理直接的方式爲FuelPHP添加額外的環境?如果有的話,我會很感激任何指導如何做到這一點。

回答

1

是其可能的,但它不記錄任何地方,這裏是黑客攻擊的辦法,我看你張貼

以下後,發現在燃料PHP應用程序創建自定義環境

例如你的步驟需要將您的新環境稱爲「實驗」,然後

1。在fuel/app/config目錄下創建一個名爲experiment的文件夾

2。在fuel/app/config/experiment目錄下創建db.php文件,其中下面的內容可以添加其他配置,但下面是默認數據庫配置(根據您的平臺進行更改),其他遷移文件也可以從其他遷移文件複製到其他遷移文件環境

return array(
    'default' => array(
     'connection' => array(
      'dsn'  => 'mysql:host=localhost;dbname=yourappdatabasename', 
      'username' => 'yourDBuname', 
      'password' => 'yourDBpassword', 
     ), 
    ), 
); 

3。接下來更改Fuel/app/bootstrap.php文件中的env名稱

Fuel::$env = (isset($_SERVER['FUEL_ENV']) ? $_SERVER['FUEL_ENV'] : Fuel::EXPERIMENT); 

4。然後打開Fuel/core/classes/Fuel.php文件,並在類的頂部向Fuel類添加一個新的常量,我想你可以在其中找到其他環境。

const EXPERIMENT = 'experiment'; 

這就是你已經創建了燃油PHP應用程序中的新的自定義環境中的所有,

注: - 這種做法是一個黑客的做法沒有正式記錄 任何地方

張貼在這裏希望它可以幫助你或其他人類似 要求

編輯: - 這是爲版本> 1.5

步驟1和步驟2相同

3。 (假設你使用Apache)集FUEL_ENV服務器變量到新環境的名稱中加入下面一行到你的虛擬主機配置:

SetEnv FUEL_ENV experiment 

這是所有有給它(在Apache,反正)。無需爲core/fuel.php添加常量(按照預定義的環境)。這是不必要的,只會使燃料核心升級變得困難。

+2

沒有理由「黑客」。 FuelPHP從v1.5開始支持無限量的環境。只需選擇你喜歡的任何字符串。 Fuel類中的常量僅用於比較,並在框架內部使用。自定義環境無法在任何地方工作。 在第3步中,只需使用'實驗'而不是常量。 – WanWizard 2013-04-11 10:42:11

+1

和p.s.永遠不要改變核心代碼,當你不得不升級到新版本時,你的手上就會有惡夢。如果您覺得您需要更改某些內容,請在應用程序中覆蓋核心類,然後在其中進行更改。 – WanWizard 2013-04-11 10:44:01

+0

@WanWizard請理解這裏發佈的信息,這裏的人已經在使用所有定義的四種環境,並且他需要添加另一個以及現有的東西, – 2013-04-11 16:46:46