我想知道对我来说什么是最好的。我正在使用CodeIgniter建立一个网站,有两个主要部分:
- 所有人都可以使用的公共部分
- 注册用户专用
在公共区域(一个控制器)的每个页面,我想把一个签名的形式和注册链接,如果用户登录,他必须被重定向到私人区域或链接到它可能会显示。
现在我有两个选择:
- 用户控制器是我想到的第一件事,但在网站的每个页面,我需要控制用户是否登录,这是不可能的或非常糟糕的,因为我使用另一个控制器
- 所以我开始在一个库工作,但我不确定如何实现它(例如表单验证应该由控制器或库本身实现?,数据库连接,因为我没有一个模型吗?)
你认为什么是最好的?为什么?你将如何实现它?
(是的,我喜欢重新发明轮子,不使用现有的库,主要是因为我想学习如何做到这一点)
Super Controller
=>assign user data,settings,configs etc
|-----private controller extends super controller
=>check user credentials
|-----admin controller extends super controller
=>check user && admin credentials
你的超级控制器是你的公共控制器,只要你只做分配,不检查…
只要扩展super controller
任何你想要私有的扩展私有控制器
表单验证和查询任务应该与控制器本身一起执行。库就像一个工具,不需要在它们中实现这些东西,但作为需要,你可以在它们中使用查询来检查一些数据,但最好是在控制器中工作。
使用日志标志的目的是:- 当用户登录时,为其创建会话以显示访问权限。
- 每次会话检查私钥部分