在Hyperf中,ApplicationContext::getContainer()->get()创建的对象是从IoC容器中获取的对象,而make()创建的对象是通过工厂类创建的对象。

区别如下:

  1. 获取对象的方式不同,前者是通过IoC容器获取,后者是通过工厂类创建。

  2. 生命周期不同,通过IoC容器获取的对象是单例模式,而通过工厂类创建的对象是每次都会创建一个新的对象。

  3. 通过IoC容器获取的对象可以在类的构造方法中注入,而通过工厂类创建的对象则无法在构造方法中注入。

总之,通过IoC容器获取的对象具有更好的性能和更好的可维护性,因为它们是单例的,可以在整个应用程序中共享,而且可以在构造方法中注入。而通过工厂类创建的对象则可以在需要时创建新的对象,但每次创建都会有一定的性能损失。

在Hyperf中 通过ApplicationContextgetContainer-get 创建的对象和通过make创建的对象 有什么区别 他们的生命周期是怎样的

原文地址: https://www.cveoy.top/t/topic/bUOC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录