php – 在CodeIgniter中的另一个Controller中调用Controller函数

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 在CodeIgniter中的另一个Controller中调用Controller函数脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的codeignITer应用程序中有一个控制器“user”.这个控制器有一个名为LOGged_user_only()的@L_304_2@:
public function logged_user_only()
    {
        $is_logged = $this -> is_logged();
        if( $is_logged === FALSE)
        {
            redirect('user/login_form');
        }
    }

由于此函数调用一个名为is_logged()的函数,该函数仅检查会话是否设置,否则返回true,否则返回false.

现在如果我把这个函数放在同一控制器内的任何函数的开头,它将检查用户是否没有记录,它将重定向到login_form,否则继续.这工作正常
例如,

public function show_home()
    {
        $this -> logged_user_only();
        $this->load->view('show_home_view');
    }

现在我想在另一个控制器的函数调用这个logged_user_only()函数来检查用户是否登录

PS.如果这不能完成,或者不推荐,我应该在哪里放置这个功能访问多个控制器?谢谢.

为什么不扩展控制器,以便登录方法在MY控制器(在应用程序的核心文件夹中)之外,所有其他控制器都会扩展它.例如你可以有:
class MY_Controller extends CI_Controller {
    public function is_logged()
    {
        //Your code here
    }
}

您的主控制器可以如下扩展:

class Home_Controller extends MY_Controller {
    public function show_home()
    {
         if (!$this->is_logged()) {
           return false;
         }
    }
}

了解更多信息,请访问:Creating Core System Classes

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在CodeIgniter中的另一个Controller中调用Controller函数全部内容,希望文章能够帮你解决php – 在CodeIgniter中的另一个Controller中调用Controller函数所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。