我正在嘗試爲我的控制器創建一個構造函數,該函數引用一個函數,該函數包含在自動加載的助手中。Codeigniter的構造函數 - 檢查用戶是否登錄
函數檢查用戶是否已登錄,如果是,則將其重定向到登錄頁面。
看來,我還沒有安裝的結構正確,因爲我收到以下錯誤:
Fatal error: Call to undefined method Profile::is_logged_in()
這是控制器:
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Profile extends CI_Controller {
public function __construct()
{
parent::__construct();
//function inside autoloaded helper, check if user is logged in, if not redirects to login page
$this->is_logged_in();
}
public function index() {
echo 'hello';
}
}
我只想控制器內使功能如果用戶已登錄,則可訪問。
這是自動加載的幫手
$autoload['helper'] = array('url','array','html','breadcrumb','form','function','accesscontrol');
(accesscontrol_helper.php):
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
function is_logged_in()
{
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in) || $is_logged_in != true)
{
echo 'You don\'t have permission to access this page. <a href="../login">Login</a>';
die();
//$this->load->view('login_form');
}
}
爲什麼我不能夠運行的功能?在助手中包含代碼是最好的方法嗎?