我的 中有一个单例设置AppServiceProvider.php
,例如:
public function boot()
{
$this->app->singleton(Breadcrumbs::class, function($app){
return new Breadcrumbs();
});
View::composer(['partials.*'], function($view){
$view->with('breadcrumbs', new Breadcrumbs());
});
}
Breadcrumbs 只是一个简单的类,它管理一系列面包屑,我希望整个应用程序中只有一个对象(所以每次你打电话时new Breadcrumbs()
你实际上得到的是现有的对象,而不是一个新的对象。(我认为这就是单例是给?)
但现在已将其添加到JetStreamServiceProvider.php
public function boot()
{
$this->configurePermissions();
Fortify::loginView(function (){
$breadcrumbs = new Breadcrumbs();
$breadcrumbs->add('login','login.php');
return view('auth.login');
});
}
但是,它没有使用与 AppServiceProvider 中创建的对象相同的对象,而是创建了一个新对象(因此 AppServiceProvider 中的面包屑对象和 JetStreamServiceProvider 中的面包屑对象是包含不同数据集的 2 个不同对象)......这是不好。
我究竟做错了什么?