【发布时间】:2011-10-20 14:48:58
【问题描述】:
似乎更流行的框架使用前端控制器。我了解前端控制器的好处(减少冗余并简化可扩展性),但是
我想知道哪些 PHP 框架不使用前端控制器。此外,我对那些使用页面控制器并建议对 url 使用真实文件目录结构的框架感兴趣,而不是重写几乎每个 url 或使用混乱的查询字符串。此外,我有兴趣了解哪些不使用前端控制器的框架实现了 MVC。最后,您可以在非前端控制器框架上提供的任何其他详细信息都会很有用,尤其是它使用或需要的 PHP 版本。 (我知道我以后可以从其他网站获得这些信息,所以它不那么重要。)
考虑the words of Rasmus Lerdorf(PHP的原始创建者):
“至于MVC,如果你用心使用它,它可以在web中派上用场 应用。只要确保你避免创建一个 单片控制器。 Web 应用程序本质上是 一系列小的离散请求。如果您发送所有请求 通过您刚刚击败的单台机器上的单个控制器 这个非常重要的架构。离散性为您提供可扩展性 和模块化。你可以将大问题分解成一系列非常 小型模块化解决方案,您可以将它们部署到尽可能多的 随心所欲的服务器。您最需要在某种程度上将它们联系在一起 可能通过一些后端数据存储,但将它们与 可能的。这意味着您希望您的视图和控制器非常接近 彼此之间,并且您希望控制器尽可能小。” - Rasmus Lerdorf
更新:非常感谢用户 Alex 第一个希望有更多的答案。他的答案是 QCubed ..
"记住前端控制器(index.php)和MVC是分开的 模式。也就是说,你可以有一个 MVC 框架,它不 实现或要求前端控制器。我选择的框架, QCubed,恰好是这样的。” - Alex
现在,如果我们可以重新提出这个问题,那么我们可以继续我们开始的工作,并汇总一个不使用前端控制器的框架列表。请投票重新开放。谢谢。
【问题讨论】:
-
我想我可以肯定地说没有不使用 C 的 MVC 框架
-
@SyntaxError Django 使用 MTV(模型-模板-视图)没有控制器。好吧,他们将视图用作控制器 =S .. 我喜欢 php
-
@Syntax Error 当然,任何 MVC 框架都会使用控制器。我对不使用 FRONT 控制器的框架感兴趣(请注意,我对使用页面控制器代替前端控制器的框架特别感兴趣)。
-
我觉得没有前端控制器很难实现控制反转,控制反转是框架的主要特征,不是吗?这意味着没有前端控制器的 MVC 框架并不是真正的框架,而是一个库。
-
我曾经想过同样的问题,希望看到一些答案
标签: php