通常我使用Zend Framework,现在我正在开发CakePHP上的应用程序并尝试理解框架,特别是如何模块化应用程序。
在ZF中有模块。应用程序的每个逻辑细分都可以(并且应该)打包到单独的模块中。它允许保持应用程序结构清晰。
CakePHP中没有模块 - 相反,框架提供了插件,我首先想到的是,插件是CakePHP中的“模块”。但是CakePHP中的插件似乎比ZF的模块 - “behaving much like it would if it were an application on its own”更多。插件显然应该用于更大的东西,如博客或论坛,具有独立应用的特征。因此,User
,Order
,Payment
或CustomerFeedback
等仅在应用程序中有意义的逻辑单元可能不适合作为插件。
是否有推荐的方法/ CakePHP中推荐的方法是将应用程序分成小型且易于管理的逻辑部分,从而构建模块化的应用程序?
答案 0 :(得分:0)
CakePHP插件和ZF模块有一些共同之处,它们都可以包含MVC逻辑,库代码,配置,资产,测试等,并且可以自己表现得像应用程序一样。
然而,并不需要这样的"整个应用程序本身"复杂程度,以便插件成为管理逻辑的推荐方式。当然,它们也可以用于不太复杂的东西,比如将应用程序拆分为逻辑(和可重用)单元。
付款插件,用户管理插件,订单处理插件,反馈插件,一切都有意义,并且既不错也不气馁以这种方式使用插件。
如果您需要一些灵感,请查看Croogo,例如,它是一个基于CakePHP的CMS,使用插件管理其不同的部分。