我继承了一个在PHP MVC框架(在本例中为Zend)中构建的项目,并且正在为该站点的移动和桌面版本使用不同的模块。该项目处于早期阶段(所以功能只有大约20%完成和错误),你可能已经猜到有很多重复的代码。
桌面和移动网站将有不同的布局,尽管有共同的元素。我的直觉告诉我将这些分成不同的Zend模块是不是最好的方法。我想我应该将代码重构为单个模块,并尽可能地将布局差异限制在视图中。此外,尽可能地利用响应式设计,并在必要时仅使用单独的视图(根据客户的要求)。从概念上讲,我看到这种方法有很多优点,但对于Zend(以及移动设计)来说还是比较新的,我想知道如果我做这个重构我是否会遇到任何Zend特定的头痛(这里有点偏执) )?
一般来说什么是“最佳做法”(移动和桌面协同设计)?关于Zend MVC的任何具体建议?
答案 0 :(得分:1)
拥有模块的原因是为了将模型分成具有不同关注点的区域,例如用户部分/管理部分,您实际上有两个不同的模型。
使用模块在移动版和桌面版之间分离肯定是错误的方法,你将在任何地方都有重复的代码。如果您以后必须支持更多移动格式怎么办?最终可能会重复使用相同的代码3,4次或更多次。
您的直觉是正确的,移动或桌面型号将保持不变。控制器应该相应地决定向客户提供哪个视图。
遇到这个问题将是一个很好的测试,你已经正确地分离了你的顾虑。您应该最终得到一个系统,您可以轻松地删除其他视图,而不需要修改模型。
对于什么是大问题,这是一个相当简单的答案,但我希望它有所帮助。