【问题标题】:MVC, custom framework: where to put controllers/actionsMVC,自定义框架:放置控制器/动作的位置
【发布时间】:2011-10-29 13:28:13
【问题描述】:
在我的框架中,它看起来是这样的:
design
modules
/links
/files
index.php -> view
addNewItem.php -> action
deleteItem.php -> action
在这个范例中,所有控制器都在一个文件中,我认为它有更好的概述。但是我看到了将所有操作放在一个控制器上的其他解决方案,文件变成了方法。没关系,但最后我们可以得到一个大文件。哪个是首选方法,您怎么看?
【问题讨论】:
标签:
php
model-view-controller
controller
【解决方案1】:
使用 MVC 模式,您需要在多个控制器之间拆分当前代码,然后每个控制器将有多个操作,因此您将拥有多个控制器,而不仅仅是一个,每个控制器都有多个操作。
例如,假设您的网站上有一个用户区域。您可以让用户控制器具有注册、配置文件视图和配置文件编辑操作,仅此而已。您还需要另一个控制器来进行身份验证(登录和注销操作),等等,以便将您的代码更好地分解成碎片。
接下来使用 MVC 模式,您还需要为每个“数据库实体”编写模型,例如定义用户的用户模型,如果再进一步,您可以拥有用户表映射器(或存储库) 实现对用户的基本 CRUD(以及更多操作)的所有数据库查询。
为了更好地理解,我建议你下载一个已经为 php 构建的 MVC 框架,这将更好地解释 MVC 的概念以及相对于所谓的“经典”或“普通”php 的优势。
我建议您尝试 CodeIgniter 框架,因为该文档非常适合 MVC 入门,或者如果您想深入了解 MVC,最好使用 Zend Framework Quick Start turorial应该更深入地了解 MVC 框架架构应该包含什么以及应该如何使用它。