php – 在CodeIgniter中的另一个Controller中调用Controller函数
发布时间:2020-12-13 13:13:34 所属栏目:PHP教程 来源:网络整理
导读:我的codeigniter应用程序中有一个控制器“user”.这个控制器有一个名为logged_user_only()的函数: public function logged_user_only() { $is_logged = $this - is_logged(); if( $is_logged === FALSE) { redirect('user/login_form'); } } 由于此函数调用
我的codeigniter应用程序中有一个控制器“user”.这个控制器有一个名为logged_user_only()的函数:
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |