我编写了一个身份验证类控制器,其中包含检查用户登录状态的方法,如果他/她没有登录,则将其重定向到登录页面。
我需要从其他控制器方法调用此函数来验证用户身份。有什么好办法呢?
答案 0 :(得分:2)
从该控制器中取出该方法。
假设您有一个用户模型,如果它正在对用户进行身份验证并将其登录,则可以放置它。
您可以放置可重复代码的其他地方是帮助程序(静态函数)和库(类)。
答案 1 :(得分:0)
将函数带入模型或在库中对其进行编码。
助手我不建议您不建议您从助手访问数据库。
简单的方法是把它放在模型中说user_model并由任何控制器在任何地方调用它。
答案 2 :(得分:0)
我在基本控制器中放置了一个检查登录方法,该方法由所有控制器扩展。现在,如果控制器的操作需要用户登录,我就像parent::_check_login()
那样调用它,如果整个控制器需要它我从控制器的构造函数调用它,就是这样。
答案 3 :(得分:0)
CodeIgniter Base Classes: Keeping it DRY
这将向您展示如何创建命名基本控制器,例如可能包含您的用户身份验证逻辑的管理控制器等。