Php 升级7到8后,laravel中的全局变量不工作

Php 升级7到8后,laravel中的全局变量不工作,php,laravel,Php,Laravel,我将laravel从7升级到8,除了全局变量外,它工作得非常好。 这是我的样本: View::composer('*', function ($view) { $contact = App\Contact::all(); $topbar = App\Topbar::orderBy('sortorder', 'asc')->get(); $view->with('contact',$contact) ->with('topbar',$topbar

我将laravel从7升级到8,除了全局变量外,它工作得非常好。 这是我的样本:

View::composer('*', function ($view) {
    $contact = App\Contact::all();
    $topbar = App\Topbar::orderBy('sortorder', 'asc')->get();

    $view->with('contact',$contact)
    ->with('topbar',$topbar);

});
您可以在官方文档中找到此代码:

Laravel 8中的View composer功能没有变化,因此如果它在Laravel 7中工作,它应该可以工作。模型放置在Laravel 8的
App\Models
目录中,因此请交叉检查您在升级时是否移动了模型。要检查名称空间错误,您可以在上面的代码段中
dd($contact$topbar)
。最后检查您是否已在服务提供商的
boot()
方法中编写了上述代码段,如果您创建了一个新的服务提供商,则它将包含在上述代码段命名空间中
config\app.php
中的providers数组中,应该是绝对的,就像
$contact=\app\contact::all()
$topbar=\App\topbar::orderBy('sortorder','asc')->get()
-前面加“`
App\Models\Contact::all()
App\Models\Topbar::orderBy('sortorder','asc')->get()你说“不工作”是什么意思?我得到这个错误:未定义变量:topbar