2014-10-27 75 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') 
));