为了账号安全,请及时绑定邮箱和手机立即绑定

如何解决 Laravel 中的视图作曲家问题

如何解决 Laravel 中的视图作曲家问题

PHP
杨魅力 2023-10-21 16:06:40
配置/应用程序.php'providers' => [     // ...     App\Providers\ViewServiceProvider::class,     App\Http\View\Composers\AdComposer::class,],应用程序/Providers/ViewServiceProvider.php<?phpnamespace App\Providers;use Illuminate\Support\Facades\View;use Illuminate\Support\ServiceProvider;class ViewServiceProvider extends ServiceProvider{    public function register()    {        //    }    public function boot()    {        View::composer(            'layouts.sidebar', 'App\Http\View\Composers\AdComposer'        );    }}应用程序/Http/View/Composers/AdComposer.php<?phpnamespace App\Http\View\Composers;use App\Ad;use Illuminate\View\View;use Illuminate\Support\Facades\Request;class AdComposer{    protected $ads;    public function __construct(Ad $ads)    {        $this->ads = $ads;    }    public function compose(View $view)    {        $view->with('ads', $this->ads);    }}我的问题是:传递给 App\Http\View\Composers\AdComposer::__construct() 的 TypeError 参数 1 必须是 App\Ad 的实例,给出的 Illuminate\Foundation\Application 的实例,在 E:\appoo\vendor\laravel\framework\ 中调用src\Illuminate\Foundation\ProviderRepository.php 第 208 行如何解决这个问题并传递 $ads 来查看?
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

从提供者数组中删除AdComposer

文档指出:

请记住,如果您创建一个新的服务提供程序来包含视图编辑器注册,则需要将该服务提供程序添加到 config/app.php 配置文件中的提供程序数组中。

它不会告诉您将作曲家添加到提供者数组中。

另外,如果您输入提示,App\Ad您将得到一个空实例,以便您了解。


查看完整回答
反对 回复 2023-10-21
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号