我创建了一个CustomProvider
,并将其添加到app.php
提供程序数组中,并将一个类注册为单例:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\ReserveCart;
class CustomProvider extends ServiceProvider
{
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register services.
*
* @return void
*/
public function register()
{
$this->app->singleton('App\ReserveCart', function($app){
return new ReserveCart;
});
}
}
但是每次我用$rc = resolve('App\ReserveCart');
请求对象时,它都会不断为我提供该对象的不同实例,而不是一个实例(我已经做了一些回声跟踪)。
还尝试将依赖项传递给Laravel Documentation相应的方法。例如
public function foo(App\ReserveCart $rc){
//
}
但问题仍然存在。
答案 0 :(得分:1)
下面的输出是否相同?
$rc = resolve('App\ReserveCart');
$rc1 = resolve('App\ReserveCart');
dd(spl_object_hash($rc), spl_object_hash($rc1));