我已經註冊了一個單身的服務提供商,像這樣:如何在課堂上訪問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'的實例。此外,是否有另一種方法來檢索它(即不是來自構造函數)。 –