moh*_*abk 1 php laravel laravel-5
我希望根据环境为我的应用程序提供不同的域名;
像这样; www.prod.co.uk而www.dev.co.uk
现在,我route.php已经定义了这样的子域名;
Route::group(['domain' => 'www.prod.co.uk']
Route::group(['domain' => 'blog.prod.co.uk']
Route::group(['domain' => 'careers.prod.co.uk']
Run Code Online (Sandbox Code Playgroud)
在laravel文档中,你可以访问env基于什么你有你的.env,我可以做类似下面的我route.php?
Use App;
if (App::environment('production')) {
// The environment is local
$domain = www.prod.co.uk;
$subdomain1 = blog.prod.co.uk;
$subdomain2 = careers.prod.co.uk;
}
if (App::environment('local', 'staging')) {
// The environment is either local OR staging...
$domain = www.dev.co.uk;
$subdomain1 = blog.dev.co.uk;
$subdomain2 = careers.dev.co.uk;
}
Route::group(['domain' => $domain]
Route::group(['domain' => $subdomain1]
Route::group(['domain' => $subdomain2]
Run Code Online (Sandbox Code Playgroud)
更好的(IMHO)方法是在.env文件中定义自定义域 - 这样很清楚域名是特定于环境的,并且不需要任何'ifs':
.ENV:
URL=www.dev.co.uk
SUBDOMAIN1=blog.dev.co.uk
SUBDOMAIN2=careers.dev.co.uk
Run Code Online (Sandbox Code Playgroud)
然后添加到config/app.php:
'url' => env('URL'),
'subdomain1' => env('SUBDOMAIN1'),
'subdomain2' => env('SUBDOMAIN2'),
Run Code Online (Sandbox Code Playgroud)
routes.php会变得更简单,更好读:
Route::group(['domain' => Config::get('app.url')] {}
Route::group(['domain' => Config::get('app.subdomain1')] {}
Route::group(['domain' => Config::get('app.subdomain2')] {}
Run Code Online (Sandbox Code Playgroud)
PS.想象一下,如果你将来获得更多特定于环境的URL - 你的routes.php会变得臃肿,它会(它已经实际上)包含环境特定的数据,这是不好的!
| 归档时间: |
|
| 查看次数: |
1754 次 |
| 最近记录: |