我在application / helpers / folder
中创建了一个帮助器“session_helper.php”<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
if ( ! function_exists('is_login'))
{
function is_login()
{
$CI =& get_instance();
$is_logged_in = $CI->session->userdata('is_logged_in');
if (!isset($is_logged_in) || $is_logged_in != TRUE) {
redirect('login');
}
}
}
和“Configuracion”控制器:
class Configuracion extends CI_Controller {
function __construct()
{
parent::__construct();
$this->is_logged_in();
}
function is_logged_in()
{
$this->load->helper('session');
$this->is_login();
}
}
问题是当我调用控制器“http:// localhost / proyect / configuracion”时出现以下错误:
致命错误:在第15行调用C:... \ application \ controllers \ configuracion.php中的未定义方法Configuracion :: is_login()
我阅读了手册,显然一切都正确......出了什么问题?
答案 0 :(得分:4)
&#34; is_login&#34;是一种功能,而不是一种方法。只需将$this->is_login();
替换为is_login();
。
答案 1 :(得分:1)
助手不是方法,只是简单的函数调用。
在“用户指南”中查看帮助者:http://codeigniter.com/user_guide/general/helpers.html
加载助手:
$this->load->helper('url');
使用其辅助函数:
<?php echo anchor('blog/comments', 'Click Here');?>
其中anchor()
是加载的帮助程序的一部分。
此外,我会敦促你不要再打电话给帮助者'会话',使其更具描述性,因为它可能会在以后变得混乱。只是一个建议,完全取决于你。