【发布时间】:2012-08-11 13:46:58
【问题描述】:
我需要在多个控制器中使用一个函数。 所以我想使用自定义助手,但似乎我无法让它工作。 (它在视图中工作,但我需要在控制器中)
它给了我以下致命错误:
致命错误:调用未定义的方法 Developers::checkIfLoggedIn() in /application/controllers/developers.php 第 12 行
使用助手在多个控制器中使用函数是明智之举吗,还是应该不这样做。
提前致谢,
标记
编辑:
控制器文件:
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Developers extends CI_Controller
{
public function __construct()
{
parent::__construct()
$this->load->helper('form');
$this->load->helper('url');
$this->load->helper('login');
//helper function
checkIfLoggedIn($this->session->userdata('loggedIn'));
}
}
帮助文件:
if (!defined('BASEPATH')) exit('No direct script access allowed');
if (!function_exists('checkIfLoggedIn'))
{
function checkIfLoggedIn($session_loggedIn)
{
$loggedIn = $session_loggedIn;
if($loggedIn == false)
{
redirect('login/');
}
}
}
}
【问题讨论】:
-
我遇到了同样的问题,我创建了一个具有该功能的基本控制器并在每个控制器中扩展了它,因为帮助程序用于视图
-
好的,谢谢。我想我会那样做
-
您是否自动加载了帮助程序?还是在控制器中,在你想使用它之前?
-
@EaterOfCorpses,助手不仅适用于
views,您也可以在控制器中使用它。 Read here. -
@SheikhHeera 对不起,我以为 Zend 和 CodeIgniter 中的系统是一样的
标签: php codeigniter controller helper