在任何配置文件中如果我使用URL类,我会收到错误“找不到类URL”;如果我使用函数“asset”,当我更新composer.json时,我收到此错误: 可捕获的致命错误:传递给Illuminate \ Routing \ UrlGenerator :: __ construct()的参数2必须是Illuminate \ Http \ Request的实例,null给定,
在配置文件之外,两者都可以正常工作
return [
'photos_url' => URL::asset('xxx'),
];
或
return [
'photos_url' => asset('xxx'),
];
测试
echo config('site.photos_url'); // or echo Config::get('site.photos_url');
答案 0 :(得分:2)
您不应该在配置中使用动态代码。作为解决方案,您可以使用ConfigServiceProvider
添加任何特定情况:
public function register()
{
config([
'photos_url' => assets('xxx'),
'services.facebook.redirect' => url('auth/callback/facebook'),
]);
}
答案 1 :(得分:2)
配置很早就加载了,可能并不意味着使用框架中的任何东西,除了 Dotenv
return [
'photos_url' => URL::asset('xxx'),
];
相反,您可以使用:
return [
'photos_url' => env('APP_URL').'/rest_of_path.ext',
];
来源:Laravel问题#7671