【问题标题】:How to access Controller class in CodeIgniter如何在 CodeIgniter 中访问 Controller 类
【发布时间】:2009-10-09 14:34:14
【问题描述】:

我编写了一个认证类控制器,其中包含一个检查用户登录状态的方法,如果他/她没有登录,则将他重定向到登录页面。

我需要从其他控制器方法调用此函数来验证用户。有什么好的方法吗?

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    将该方法从该控制器中取出。

    假设您有一个 User 模型,如果它正在验证用户并让他们登录,那么这是一个放置它的好地方。

    您可以放置​​可重复代码的其他位置是帮助程序(静态函数)和库(类)。

    【讨论】:

    • +1。 VarunGupta 正在描述一个最初不属于控制器的逻辑教科书案例。
    【解决方案2】:

    将函数带入模型或将其编码到库中。

    我不推荐助手,因为不建议您从助手访问数据库。

    简单的方法是将它放在一个模型中,比如 user_model 并由任何地方的任何控制器调用。

    【讨论】:

      【解决方案3】:

      我在基本控制器中放置了一个检查登录方法,该方法由所有控制器扩展。现在,如果控制器的操作需要用户登录,我将其称为 parent::_check_login(),如果整个控制器都需要它,我会从该控制器的构造函数中调用它,仅此而已。

      【讨论】:

        【解决方案4】:

        sumanchalki 是正确的,但他可能没有提供足够的信息来说明如何做到这一点。

        CodeIgniter Base Classes: Keeping it DRY

        这将向您展示如何制作命名的基本控制器,例如可以包含您的用户身份验证逻辑等等的管理控制器。

        【讨论】:

          猜你喜欢
          • 2012-05-01
          • 1970-01-01
          • 2014-09-28
          • 1970-01-01
          • 2018-03-21
          • 2016-01-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多