除了 构造函数依赖注入和 Setter方式依赖注入外 还有什么办法可以依赖注入?

我定义了一个 ApiResponse类

除了 构造函数依赖注入和 Setter方式依赖注入外 还有什么办法可以依赖注入?

然后在基类 ApiController 通过构造函数 依赖注入了

除了 构造函数依赖注入和 Setter方式依赖注入外 还有什么办法可以依赖注入?

然后子类就可以调用 ApiResponse里的方法

除了 构造函数依赖注入和 Setter方式依赖注入外 还有什么办法可以依赖注入?

现在问题是 如果子类还需要通过构造函数依赖注入

除了 构造函数依赖注入和 Setter方式依赖注入外 还有什么办法可以依赖注入?

其实也能用 但每次都要带上
ApiResponse $apiResponse

parent::__construct($apiResponse);

所以想问问 还有什么办法能解决这个问题?

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 7

谁需要谁自己注入,完全可以放在login里面注入,全部放在父类里面没必要!

1周前 评论

这种显式的注入很有必要,不然的话,随着时间的推进,你无法直观的感受到这个类引入了多少类,导致依赖太别多,而出现性能问题

1周前 评论

用在基类中使用__get魔术方法倒是可以

file 不知道还有没有更好的办法

1周前 评论

直接都改成静态方法来调用 ApiResponse ::message()

6天前 评论

可以写成trait 在父类使用,子类继承

4天前 评论

你看过laravel 的服务容器你就明白原理了, laravel 的依赖注入是通过反射来实现的,反射api 是可以判断类是否可以实例化,有多少个参数,还可以判断参数的类型,laravel是通过递归的形式来解决类的依赖关系的,就是当你实例化的类,有具体的依赖类型(class),就一直实例化下去直到解决所有依赖为止

1天前 评论
public static function instance(Calendar $calendar)
{
    if(!(self::$instance instanceof self)){
        self::$instance = new self();
    }

    self::$instance->calendar = $calendar;
    return self::$instance;
}
Location::instance($calendar)->all($birthday, $hour);

这是你想要的?

1天前 评论

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