我正在尝试使用 Bonfire/CodeIgniter 设置一个仅供注册用户访问的区域。根据 Bonfire 文档,我们可以使用 Authenticated_controller。当我尝试从 Authenticated_controller 扩展我的控制器时,我收到错误消息:
致命错误:在第 264 行对 D:\xampp\htdocs\bonfire\bonfire\libraries\template.php 中的非对象调用成员函数 is_ajax_request()
我拥有的代码用于控制器 boffice:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* boffice controller
*/
class Boffice extends Authenticated_Controller
{
public $ci;
//--------------------------------------------------------------------
/**
* Constructor
*
* @return void
*/
public function __construct()
{
parent::__construct();
$this->ci =& get_instance();
$this->load->library('form_validation');
$this->lang->load('boffice');
$this->load->model('pan/pan_model', null, true);
$this->load->model('activities/activity_model');
Assets::add_module_js('boffice', 'boffice.js');
Template::set_theme("jumbotron");
}
//--------------------------------------------------------------------
/**
* Displays a list of form data.
*
* @return void
*/
public function index()
{
Template::render();
}
//--------------------------------------------------------------------
}
下面列出了我收到的其他警告:
错误 - 2014-08-15 13:10:19 --> 严重性:通知 --> 试图获取非对象 D:\xampp\htdocs\bonfire\bonfire\libraries\template.php 的属性 258 错误 - 2014- 08-15 13:10:19 --> 严重性:注意 --> 试图获取非对象 D:\xampp\htdocs\bonfire\bonfire\libraries\template.php 的属性 258 错误 - 2014-08-15 13 :10:19 --> 严重性:注意 --> 试图获取非对象 D:\xampp\htdocs\bonfire\bonfire\libraries\template.php 264 的属性
发生错误的template.php中的代码:
255 public static function render($layout=NULL)
256 {
257 $output = '';
258 $controller = self::$ci->router->class;
259
260 // We need to know which layout to render
261 $layout = empty($layout) ? self::$layout : $layout;
262
263 // Is it in an AJAX call? If so, override the layout
264 if (self::$ci->input->is_ajax_request())
265 {
267 $layout = self::$ci->config->item('template.ajax_layout');
268
269 $controller = NULL;
270 }
我看到了类似的错误消息,问题是没有初始化对象。这个“is_ajax_request()”类型的错误无处可寻,我不知道如何解决这个问题。
任何帮助表示赞赏。