singleton(ClassInterface::class, T1Impl::class); $out1 = app(ClassInterface::class)(); $this->assertEquals("T1?", $out1); app()->bind(ClassInterface::class, T2Impl::class); $out2 = app(ClassInterface::class)(); $this->assertEquals("T2!", $out2); app()->bind(T1Impl::class, T2Impl::class); $out3 = app(T1Impl::class)(); $this->assertEquals("T2!", $out3); app()->bind(T2Impl::class, T3Impl::class); app()->bind(T1Impl::class, T2Impl::class); app()->singleton(ClassInterface::class, T1Impl::class); $out4 = app(ClassInterface::class)(); $this->assertEquals("T3!", $out4); $user = User::factory()->create(['name'=>'Tomas']); $out5 = app(T4::class, ['user'=>$user])(); $this->assertEquals("Tomas", $out5); }); interface ClassInterface { public function __invoke(); } class T1Impl implements ClassInterface { public function __invoke() { return "T1?"; } } class T2Impl implements ClassInterface { public function __invoke() { return "T2!"; } } class T3Impl implements ClassInterface { public function __invoke() { return "T3!"; } } class T4 { public function __construct( public User $user ){} public function __invoke() { return $this->user->name; } }
Y... Eso significa que si hago laravel "bien", ¿me permite eliminar el módulo "nwidard/larave-modules" y anula cualquier parte del código?
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3