这个代码疯了吗?
我正在学习一个教程,我认为这是由一个不知道自己在做什么的人编写的(已经发现了2个明显的错误,其余的代码很混乱)。但我不想完全诋毁这个人,所以我在这里问一些我不明白的事情。
首先,我将发送100个布朗尼点,我的2只宠物和一盒巧克力给任何可以向我解释此代码发生了什么的人。
他使用的是基于模块的架构。模块名称为 。模块具有 MVC。模块有自己的内部。frontmodule
library
/modules/
/frontmodule/
/models/
/views/
/controllers/ -- the /module controller is here (undestandable)
/library/
/Controller/ -- the /module/library controller is here (why?!)
/Action/
首先是令人困惑的部分。为什么每个模块都有一个内部库,以及为什么该内部库有自己的 和 。这是最佳实践吗?我认为这个库可以移动到模块可以使用的插件中。不确定。。controllers
actions
现在是有趣的部分....除了每个模块都有自己的内部库之外,还有一个由所有模块共享的Common库(请参阅下面的同一文件夹级别),并且Common库也有自己的控制器和操作(就像每个内部库都有自己的控制器和操作一样)/modules
/modules
/library/
/Common/
/Controller/ -- the /common/library controller is here (why?!)
/Action/
/Helper/
/Plugin/
所以我们有 3 个控制器:
- 模块控制器
- 模块内部库的控制器
- 公共库的控制器
现在,我认为这是使生活过于复杂的疯狂部分
他说:模块控制器扩展了模块的库父控制器,这也扩展了公共库控制器。
class IndexController
extends Frontoffice_Library_Controller_Action_Abstract { ... }
abstract class Frontoffice_Library_Controller_Action_Abstract
extends Custom_Controller_Action_Abstract { ... }
所以我猜:
-
模块控制器 =
索引控制器
- 模块内部库的控制器 =
Frontoffice_Library_Controller_Action_Abstract
- 公共库的控制器 =
Custom_Controller_Action_Abstract
其中扩展module controller
module internal library's controller
并扩展module internal library's controller
common library's controller
以前有人见过这样的东西吗?我的猜测是,这段代码并不容易维护,但也许那些对zend更有经验的人可以告诉我这个家伙想要实现的目标。应用程序结构有点太乱了。我认为他正在滥用MVC,而不是使用它来简化应用程序及其可维护性。