【发布时间】:2011-12-27 19:25:55
【问题描述】:
我想知道在我的情况下什么是最好的。我正在使用 CodeIgniter 构建一个包含两个主要部分的站点:
- 公共部分可供所有人使用
- 仅供注册用户使用的私人网站
在公共区域(一个控制器)的每个页面中,我想放置一个登录表单和一个注册链接,如果用户已登录,他必须被重定向到私人区域,或者链接可能是显示。
现在我有两个选择:
- 用户控制器是我首先想到的,但在网站的每个页面中,我都需要控制用户是否已登录,这是不可能或非常糟糕的,因为我正在使用另一个控制器
- 所以我开始研究一个库,但我不确定如何实现它(例如表单验证应该由控制器还是由库本身来实现?数据库连接呢,因为我没有模型?)
你认为什么是最好的?为什么?以及如何实施?
(是的,我喜欢重新发明轮子,而不是使用现有的库,主要是因为我想学习如何去做)
【问题讨论】:
-
在
Users的构造函数中检查用户是否登录如何? -
但是由于我使用不同的控制器来显示站点的页面,所以我不能调用另一个控制器的方法或简单地用构造函数加载它而不破坏 mvc 模型
-
CI 是一个不好的框架来学习如何正确地做到这一点,因为它是静态的,因此对于扩展和重用来说不灵活——尤其是在涉及控制器时。理想情况下,我会用访问检查来装饰需要它的控制器,并在路由中定义哪些控制器需要访问检查。如果控制器需要它们,应用程序控制器将执行访问检查。
-
我可以扩展 ci_controller 类来做到这一点...
标签: php codeigniter authentication