Projects [SHOW]
Architecture Concepts
Der Service-Container löst jedes Mal, wenn er ein Objekt auflöst, ein Ereignis aus. Sie können dieses Ereignis mit der Resolving Method auflösen:
$this->app->resolving(function ($object, $app) { // Called when container resolves object of any type... }); $this->app->resolving(
HelpSpot\API::class, function ($api, $app) { // Called when container resolves objects of type "HelpSpot\API"... });
Wie Sie sehen können, wird das aufzulösende Objekt an den Callback übergeben, so dass Sie alle zusätzlichen Eigenschaften des Objekts festlegen können, bevor es an seinen Konsumenten weitergegeben wird.
PSR-11
Der Servicecontainer von Laravel implementiert die PSR-11-Schnittstelle. Daher können Sie die PSR-11-Container-Schnittstelle mit einem Tipp versehen, um eine Instanz des Laravel-Containers zu erhalten:
use Psr\Container\ContainerInterface;
Route::get('/', function (ContainerInterface $container) {
$service = $container->get('Service');
//
});
Eine Ausnahme wird ausgelöst, wenn der angegebene Identifikator nicht aufgelöst werden kann. Die Ausnahme ist eine Instanz von Psr\Container\NotFoundExceptionInterface, wenn der Identifikator nie gebunden wurde. Wenn der Identifikator gebunden war, aber nicht aufgelöst werden konnte, wird eine Instanz von Psr\Container\Container\ContainerExceptionInterface ausgelöst.