0

我研究了几个开源 codeigniter 网站项目,每个项目似乎在应用程序级别都有自己的设计/开发策略。想知道,严格遵守应用程序级别的代码,是否有好的策略可以遵循?例如,对于每个请求都应该在它自己的控制器文件中?就像用户想要登录一样,是否有一个单独的控制器和模型只处理该请求?基本上就组织应用程序代码而言,有哪些有效的策略?

4

2 回答 2

3

CodeIgniter 遵循MVC (Model-View-Controller)的原则,尽管它实际上给了你很大的自由来随心所欲地使用它。

简而言之,这就是不同部分应该做的事情:

  • 视图是用户看到的(HTML/CSS/等)
  • 控制器是不同的位置/请求/页面(以及应用程序的实际“执行”部分 - 它加载视图并与数据/模型交互)
  • 模型是与数据交互的部分(在数据库中)

示例 1:

  • 用户访问 yourwebsite.com/home
  • Home控制器被称为
  • Home控制器做任何准备工作并加载适当的视图

示例 2:

  • 用户想登录
  • 他访问 yourwebsite.com/login
  • Login控制器被称为
  • $_POST数据集吗?如果不是(这是控制器第一次运行),则加载适当的视图(其中包含表单 - 当用户“提交”登录表单时,将再次调用登录控制器,并设置用户名、密码等这次)
  • 如果有给定的用户名、密码等,不要加载任何视图。相反,加载用户模型(其中可能有通过用户名/密码等获取用户 ID 的功能)。如果一切正常,则将会话变量(例如logged_in)设置为用户 ID。
于 2012-08-21T07:33:52.483 回答
2

您可以使用 Modular MVC 为您提到的流程构建站点。查看以下链接以获取有关为什么应该使用 HMVC 以及如何使用它的更多详细信息:请参阅:HMVC CodeIgniter

于 2012-08-21T07:27:57.380 回答