是否有PHP4的依赖注入框架?
时间:2020-03-06 14:42:10 来源:igfitidea点击:
我被困在PHP 4服务器上,我想开始将一个旧的遗留项目迁移到现代设计模式,包括依赖注入。是否有任何可用于PHP 4的依赖项注入框架?
解决方案
我认为依赖注入框架不会在PHP上真正起作用,因为其中的面向对象程序结构是这样的。首先,它不像Cor Java中的二进制文件已经存在,我们只需要找到一种实例化此对象并将其注入到另一个对象的方法即可。 PHP必须先加载类文件并对其进行解释,然后才能使用它们。因此,如果我们具有PHP的深层次继承层次结构,那么我认为这不是一个好主意。
既然PHP是一种脚本语言,那么最好将它作为一种脚本语言加以利用。这意味着,我将仅使用简单的工厂或者构建器方法来执行类似于依赖项注入的操作。我不会用DI框架来负担它,DI框架只会增加PHP运行时必须为每个Web请求处理的内容(除非我们进行操作码缓存,但Java和Java的Web平台仍不会产生开销。网)。如果必须更改将注入到对象中的对象或者创建对象的方式,仅编辑包含factory / builder方法的脚本将是一项简单的任务。无论如何都不需要在那里重新编译。因此,我具有灵活性,并且拥有适用于PHP处事方式的轻量级体系结构。
我发现了这个(滴水),但它似乎几年没有更新了。
大多数依赖项注入框架使用反射来确定依赖项。由于PHP4没有类型提示,因此我们无法真正做到这一点。使用配置文件进行了实验,有时嵌入在代码的注释中(通常称为注释)。虽然这样做有效,但我觉得它有点笨拙。在我看来,与尝试将静态类型的解决方案应用于PHP相比,最好利用PHP的动态特性来获得优势。手工制作的工厂可以让我们走得很远。例如,请参阅这篇文章。