【问题标题】:Create Codeigniter Helper -> undefined method创建 Codeigniter Helper -> 未定义的方法
【发布时间】:2012-02-14 11:47:00
【问题描述】:

我在 application/helpers/ 文件夹中创建了一个助手“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');

        }               

    }   
}

和“配置”控制器:

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()

我阅读了手册,显然一切都是正确的……出了什么问题?

【问题讨论】:

    标签: codeigniter methods undefined helper


    【解决方案1】:

    “is_login”是一个函数,而不是一个方法。只需将$this-&gt;is_login(); 替换为is_login();

    【讨论】:

      【解决方案2】:

      Helper 不是方法,它们只是简单的函数调用。

      查看用户指南中的助手:http://codeigniter.com/user_guide/general/helpers.html

      加载助手:

      $this->load->helper('url');
      

      使用它的辅助函数:

      <?php echo anchor('blog/comments', 'Click Here');?>
      

      其中anchor() 是作为已加载帮助程序一部分的函数。

      另外,我敦促您不要调用帮助程序“会话”,使其更具描述性,因为以后可能会变得混乱。只是一个建议,完全由你决定。

      【讨论】:

        猜你喜欢
        • 2016-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多