我也在 zfforums 上问过这个问题,但我可能会在这里得到答复。
所以 Zend 框架是一个通用的、灵活的、松耦合的、高质量的框架。但是,我发现一些 MVC 部分不一致且过于复杂。希望你们中的一些人可以证明一些 zf 设计决策的合理性并回答一些问题:
一般问题/评论
为什么 zend mvc 不遵循与其他 zend 组件相同的命名约定?例如,mvc 使用小写,复数目录名和类名不以目录信息为前缀,因此它们不容易自动加载。
我想要添加模块根目录的选项。这样,我就不必通过添加控制器/模块目录来显式配置调度程序。我可以放入一个模块并立即访问它。
为什么视图和动作助手之间有区别?目前,帮助程序并未设计为在整个代码中共享,并且加载和访问帮助程序的方法不一致。其他框架允许您在代码中的任何位置共享相同的助手。我认为没有必要专门化和违反 DRY。
Zend 查看问题
为什么视图使用“$this”来访问资源?我认为不需要额外的打字。其他一些框架 extract() 一组视图变量,并允许从视图中加载全局函数或自动加载静态助手: myHelper::someMethod();
为什么视图助手每个类只允许一个函数?这导致了很多类和相关的维护。如前所述,我更喜欢具有任意数量方法的静态类。