我尝试从routes / web.php文件中访问ENV变量,但它仍然失败。原因是我想为仪表板/客户区域制作特殊路线组。这是我最新的代码;
$dashboard = env('DASHBOARD_DOMAIN', 'localhost');
Route::group(['domain' => 'dashboard.localhost.dev','middleware' => 'auth'], function () {
Route::get('/', 'DashboardController@index');
});
以上代码是可行的,但我不想像这样对域值进行硬编码,因为如果我使用这种方式,每次将代码上传到生产服务器时我都需要再次更改它们。但是,如果我将$ dashboard作为域值,它根本不起作用。
答案 0 :(得分:1)
如果您在DASHBOARD_DOMAIN
中定义.env
,则代码应该可以正常运行。
Route::group([
'domain' => 'dashboard' . env('DASHBOARD_DOMAIN', 'localhost') . 'dev',
'middleware' => 'auth'], function () {
Route::get('/', 'DashboardController@index');
});
答案 1 :(得分:0)
您需要为项目创建.env并在那里设置环境变量。
所以在你的情况下:
' DASHBOARD_DOMAIN =本地主机'
因此,在您的路线文件中,您仍然使用' env()'方法,但现在该值将从.env文件中提取。
如你所知,第二个参数是' env()'是默认值,因为该变量未在别处设置
答案 2 :(得分:0)
routes.php文件中没有env帮助函数。这是不可能的。
答案 3 :(得分:0)
我有同样的问题。但是通过更改功能可以解决。
像这样更改变量。
config('dashboard.domain', 'localhost')
通过运行
清除缓存php artisan config:cache
您的代码将是这样。
$dashboard = config('dashboard.domain', 'localhost');
Route::group(['domain' => 'dashboard.localhost.dev','middleware' => 'auth'], function () {
Route::get('/', 'DashboardController@index');
});