[英]Laravel 4 - Get environment by public folder name/path
我目前正在为当前的laravel 4项目开发“多站点”功能(就像WordPress一样)。
最简单的方法(在我看来)将复制公用文件夹为每个站点,那么它仍然使用相同的核心,但你也可以为每个网站编辑的资产。 仍然需要完成的唯一事情是每个站点的数据库配置不同。
我试图根据当前使用的公用文件夹的名称/路径来检测环境。 但是,当我尝试在bootstrap / start.php文件中使用public_path()
时,将导致此错误:
致命错误:在第685行上的vendor \\ laravel \\ framework \\ src \\ Illuminate \\ Support \\ helpers.php中的非对象上调用成员函数make()
我怎样才能做到这一点?
在laravel中,它实际上更简单。
Route::group(['domain' => 'subdomain1.example.com'], function(){
//rotues for subdomain 1
});
Route::group(['domain' => 'subdomain2.example.com'], function(){
//rotues for subdomain 2
});
我为每个域使用带有名称空间的嵌套控制器。
例如
子域1
controllers/subdomain1/HomeController
....
子域2
controllers/subdomain2/HomeController
....
用于配置
Config/subdomain1/database.php (e.g.)
和
Config/subdomain2/database.php (e.g.)
然后设置环境
$env = $app->detectEnvironment(array(
'local' => ['*.dev', gethostname()],
'subdomain1' => ['subdomain1.example.com'],
'subdomain2' => ['subdomin2.example.com']
));
....就是这样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.