我有MY_Controller
扩展了CI_Controller
,MY_Controller
将保留应用程序的所有通用功能。扩展Frontend_Controller
的{{1}},此控制器将保存所有与公共相关的内容。一个MY_Controller
将包含所有管理内容,此控制器还扩展了Admin_Controller
以及一些扩展MY_Controller
或Frontend_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 并尝试只加载一个空白页。
答案 0 :(得分:1)
错误发生在App_controller.php
文件中,它有两个<?php
标记。