我已经注册了一个单身的服务提供商,像这样:如何在课堂上访问Laravel Singletons?
$this->app->singleton(MyClass::class);
这可以正常访问,只需说明它的参数,像这样:
class FooController extends Controller
{
public function index(MyClass $myClass)
{
//...
}
}
但是我似乎无法能够在其他自定义类(即非控制器类)中访问此单例。 (https://laravel.com/docs/5.2/container#resolving)
例如喜欢这里:
class Bar {
private $myClass;
private $a;
private $b;
public function __construct($a, $b) {
$this->a = $a;
$this->b = $b;
$this->myClass = ... // TODO: get singleton
}
}
我该怎么办呢?
请注意,我将创建Bar
的多个实例。
但是,我该如何创建一个'Bar'的实例。此外,是否有另一种方法来检索它(即不是来自构造函数)。 –