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