Laravel 5 如何在laravel 5的配置文件中使用URL::或asset()

Laravel 5 如何在laravel 5的配置文件中使用URL::或asset(),laravel-5,Laravel 5,在任何配置文件中,如果我使用URL类,我会得到错误“未找到类URL”;如果我使用函数“asset”,当我更新composer.json时,会出现以下错误: 可捕获的致命错误:传递给Illumb\Routing\UrlGenerator::\uu construct()的参数2必须是Illumb\Http\Request的实例,给定null 在配置文件之外,两者都可以正常工作 return [ 'photos_url' => URL::asset('xxx'), ]; 或 试验 您

在任何配置文件中,如果我使用URL类,我会得到错误“未找到类URL”;如果我使用函数“asset”,当我更新composer.json时,会出现以下错误: 可捕获的致命错误:传递给Illumb\Routing\UrlGenerator::\uu construct()的参数2必须是Illumb\Http\Request的实例,给定null

在配置文件之外,两者都可以正常工作

return [
    'photos_url' => URL::asset('xxx'),
];

试验


您不应该在配置中使用动态代码。作为解决方案,您可以使用
ConfigServiceProvider
添加任何特定案例:

public function register()
{
    config([
        'photos_url' => assets('xxx'),
        'services.facebook.redirect' => url('auth/callback/facebook'),
    ]);
}

来源:

配置很早就被加载了,除了Dotenv

return [
    'photos_url' => URL::asset('xxx'),
];
相反,您可以使用:

return [
    'photos_url' => env('APP_URL').'/rest_of_path.ext',
];

来源:Laravel问题

,因为URL生成器尚未准备好。难道你不能将
xxx
部分存储在配置中,并在需要时生成完整的URL吗?如果你想拥有好的语法,你可以创建一个小的helper函数,为你应用
asset()
。。。
return [
    'photos_url' => URL::asset('xxx'),
];
return [
    'photos_url' => env('APP_URL').'/rest_of_path.ext',
];