1

我正处于自己创建中小型 Web 应用程序的早期阶段。我阅读了“PHP 对象、模式和实践”并决定使用页面控制器,因为快速生产是一个高优先级。页面控制器也很有吸引力,因为我不熟悉 PHP 框架,并且创建一个精心制作的前端控制器目前似乎超过了该项目。我的计划是尽快发布网站的页面控制器版本,看看观众是否喜欢它,然后再进行更复杂的软件设计。

也就是说,我可能会决定在未来添加更多“模块”和开发人员......此时我真的应该切换到前端控制器。上面提到的这本书描述了“从页面控制器开始,向前端控制器模式移动并非不可能”,但“并非不可能”的措辞让我担心它可能会相当困难。

我的问题是:从页面控制器过渡到前端控制器设计有多“难”?在我的基于页面控制器的应用程序上工作时,我应该注意什么来创建允许平滑过渡到前端控制器设计的代码?理想的情况是尽可能少地重写/重构代码,并在前端控制器上添加相关的类/对象。现在我只对维护 MVC 持谨慎态度,所以经验丰富的开发人员的任何建议都会很棒。谢谢你。

4

2 回答 2

1

我认为您的主要关注点应该是将“业务逻辑”放入适当设计的模型类中。换句话说,不要将这样的逻辑直接放在你的页面控制器中。相反,使用您的页面控制器来解析输入,例如 GET 和 POST,实例化正确的业务逻辑对象,并在这些对象上调用正确的方法来执行实际的数据处理。

页面控制器还应该负责选择要显示的视图——不要在业务对象中输出内容,只需为控制器返回数据。

通过使用这种方法,您应该将大部分代码放在模型类中,并且如果/当您想重写为使用前端控制器时,您只需要更改页面控制器以使用前端控制器,希望不必修改其他任何内容。

于 2009-06-28T16:37:54.850 回答
1

我在 3 或 4 年前读过你提到的那本书,作为面向对象编程的第一次介绍,我发现它是一本很棒的书,但我不得不说,当我开始使用 CakePHP 时,我才真正掌握了整个内容并在其代码中扎根,以了解实际情况如何。书中的例子有时会让人有点困惑。

我建议再看看那里的一些框架,Cake 很好,Yii 意味着更好。很快就可以用它们建立一个系统,只要你准备好深入了解它们,它们就可以成为一个非常宝贵的学习工具。

于 2009-06-28T16:43:27.220 回答