2014-10-27 77 views
0

我現在有一個Laravel項目,我正在使用Github作爲我的項目。Laravel和Github - 工作流程和問題

我有兩個分支,master和develop。
現在的問題是,...

我有一個文件夾/ dev中的所有文件我正在使用Sublime Text 2和官方Github Client。當我切換分支時,我在狀態欄的ST2中看到了,沒關係。
我把sftp-config.json放在我的gitignore中,但是我有不同的FTP數據給master和develop。我總是必須將ST2 tu中的數據正確地上傳到我的FTP上來測試我的更改。有時我甚至忘記了,並且意外地將開發上傳到我的主頁/實況頁面。
routes.php同樣的問題,我需要在我的routes.php中爲DEV禁用SSL,因爲我沒有通配符證書,我的開發分支機構/ ftp在dev.domain.tld和我的主要網站www上運行.domain.tld。

我爲我的Laravel配置創建了一個環境,一個主配置和「開發」配置。
是否可以在我的過濾器中的routes.php中使用Config::get('app.ssl')?像這樣:

Route::group(['before' => ['csrf',Config::get('app.ssl')]], function() { 
    Route::get('page', array('as' => 'page','uses' => '[email protected]')); 
}); 

我現在的工作流程有時非常煩人和混亂。我總是必須檢查我是否在我的實時服務器上上傳文件或更改主文件。
任何建議,非常感謝!

回答

0

當然! Laravel支持開箱即用的環境配置。你可以在official docs中找到幾乎所有你需要的東西。但是這裏有一個例子:

應用程序/配置/ app.php - 「主要配置」

array(
    // other config entries 
    'ssl' => true 
) 

應用程序/配置/ 當地 /app.php - 配置的環境local(你可以任意調用它)

array(
    'ssl' => false // here we override the value from our main config 
) 

現在我們要做的最後一件事就是確保我們的環境得到正確檢測。
Laravel使用主機名來檢測環境。所以你需要弄清楚你的機器是如何被調用的。 一個簡單的方法來做到這一點是PHP函數gethostname()

引導/ start.php你可以定義你的環境:

$env = $app->detectEnvironment(array(
    'local' => array('your-machine-name'), 
    'other-environment' => array('other-machine-name') 
));