关于laravel 使用 注解 进行依赖注入
在使用tp时 无意中 看到了这个包,这块内容在 好久之前 我就想要了,但是在 laravel 里 也没发现有类似的轮子,所以今儿看到了 就过来分享下,如果社区里面的小伙伴 在 laravel 有使用过类似的轮子也可以告知一下。
topthink/think-annotation
这块内容主要实现了什么内容,举个例子就明白了
通常laravel 实现依赖注入的方式 是这样
class UserController {
public function __construct(public UserService $userService) {
}
public function show($id) {
$user = $this->userService->getUser($id);
// display user details...
}
}
在引入了该包以后,你的代码就可以是这个样子了
class UserController {
#[Inject]
public UserService $userService
public function show($id) {
$user = $this->userService->getUser($id);
// display user details...
}
}
关于注入的具体实现方法 在 这里(Inject) 可以看到,laravel 这块 我借鉴了 该实现 也复现了 该功能,相当便利。
重申下如果社区里面的小伙伴 在 laravel 有使用过类似的轮子也可以告知一下,方便互相学习下,谢谢。
本作品采用《CC 协议》,转载必须注明作者和本文链接
这种东西吗?laravel-annotation
一直用这个实现自动注册路由,非常方便 github.com/spatie/laravel-route-at...
这个包只有通过服务容器实例化的时候才能自动注入,使用new关键字实例化是不能注入的