关于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 协议》,转载必须注明作者和本文链接
i@llons.com
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7

这种东西吗?laravel-annotation

10个月前 评论
seebyyu (楼主) 10个月前
working (作者) 10个月前
seebyyu (楼主) 10个月前

一直用这个实现自动注册路由,非常方便 github.com/spatie/laravel-route-at...

10个月前 评论
seebyyu (楼主) 10个月前

这个包只有通过服务容器实例化的时候才能自动注入,使用new关键字实例化是不能注入的

5个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!