Codeigniter自定义控制器未加载任何内容

时间:2016-08-08 03:24:41

标签: php codeigniter controller codeigniter-3

我有MY_Controller扩展了CI_ControllerMY_Controller 将保留应用程序的所有通用功能。扩展Frontend_Controller的{​​{1}},此控制器将保存所有与公共相关的内容。一个MY_Controller将包含所有管理内容,此控制器还扩展了Admin_Controller以及一些扩展MY_ControllerFrontend_Controller的特定控制器。

我使用钩子自动加载控制器,这是我的文件:

应用/核心/ MY_Controller.php

Admin_Controller

应用/核心/ Frontend_Controller.php

class MY_Controller extends CI_Controller
{
    protected $data = array(); 

    function __construct()
    {
        parent::__construct();
        $this->data['errors'] = array();
        $this->data['site_name'] = $this->config->item('site_name');
    }
}

应用/控制器/的welcome.php

class Frontend_Controller extends MY_Controller
{

    function __construct()
    {
        parent::__construct();
        var_dump ('Hello');
    }
}

我的钩子配置

应用/钩/ App_controllers.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends Frontend_Controller {

    function __construct()
    {
        parent::__construct();  
    }

    public function index()
    {
        var_dump($this->data);
        $this->load->view('welcome_message');

    }
}

应用/配置/ hooks.php

<?php 
defined('BASEPATH') OR exit('No direct script access allowed');

<?php
function load_app_controllers()
{
  spl_autoload_register('my_own_controllers');
}

function my_own_controllers($class)
{
  if (strpos($class, 'CI_') !== 0)
  {
    if (is_readable(APPPATH . 'core/' . $class . '.php'))
    {
      require_once(APPPATH . 'core/' . $class . '.php');
    }
  }
}

/* | ------------------------------------------------------------------------- | Hooks | ------------------------------------------------------------------------- | This file lets you define "hooks" to extend CI without hacking the core | files. Please see the user guide for info: | | https://codeigniter.com/user_guide/general/hooks.html | */ $hook['pre_system'][] = array( 'class' => '', 'function' => 'load_app_controllers', 'filename' => 'App_controllers.php', 'filepath' => 'hooks' ); 中启用了挂钩config.php

我的问题是欢迎控制器正在加载一个空白页面,当我创建 MY_Controller 并对其进行测试时,工作正常,但是当我创建 Frontend_Controller 并尝试只加载一个空白页。

1 个答案:

答案 0 :(得分:1)

错误发生在App_controller.php文件中,它有两个<?php标记。