这是我的想法,我可能在给自己挖一个大洞。这就是我在这里的原因;)
我希望开发一个复杂的应用程序,但我希望这个应用程序作为一个独立的脚本和wordpress插件同时运行。以后我可能会开发成Joomla插件等等。
我的想法是开发一个抽象的定制框架,然后通过扩展这个框架来实现定制功能。这有意义吗?
这么说吧WP_Plugin
扩展My_Engine
, 然后插件类将作为工厂来管理WordPress中的自定义功能/lib/wordpress/
目录
我真的不想重复我自己,我肯定会生产多个版本的应用程序。
有什么想法吗?
SO网友:Jan Fabry
通过子类化进行扩展是可能的,但它可能会限制您的可能性。也许您希望允许第三方开发人员扩展My_Engine
像My_Super_Engine
, 但是后来WP_Plugin
仍将仅使用My_Engine
.
相反,你可以WP_Plugin
包含对混凝土的引用My_Engine
对象这有时被称为has_a
相反,或is_a
关系“(WP_Plugin
不再是类型My_Engine
, 但它提到了My_Engine
或者“依赖注入”(当您实例化WP_Plugin
和注入My_Engine
而不是在内部硬编码)。
为了给出更详细的答案,了解应用程序应该做什么可能会有所帮助。您可以在多大程度上将UI与应用程序逻辑解耦?这可能是保持核心应用程序可移植到其他环境的最大障碍。