я пытаюсь создать основной класс в codeigniter.in application / core в создании файла с именем MY_head.php и код MY_head.php
class MY_head extends CI_Controller{
public function __construct(){
parent::__construct();
}public function load_header(){
//some code here}
}
Теперь я пытаюсь расширить этот класс в моей практике контроллера. PHP-код
class Practice extends MY_head{
public function __construct(){
parent::__construct();
}
function index(){}}
но когда я загружаю тренировочный контроллер в браузер, он говорит о фатальной ошибке: класс ‘MY_head’ не найден в. где проблема? заранее спасибо
Примечание: $ config [‘subclass_prefix’] = ‘MY_’;
Попробуйте поставить ниже функцию в нижней части файла конфигурации
/application/config/config.php
function __autoload($class)
{
if(strpos($class, 'CI_') !== 0)
{
@include_once( APPPATH . 'core/'. $class . '.php' );
}
}
и расширить контроллер
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Practice extends MY_head
{
public function __construct()
{
parent::__construct();
}
}
ИЛИ включить вручную
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
// include the base class
require_once("application/core/MY_head.php");
//Extend the class
class Practice extends MY_head
{
public function __construct()
{
parent::__construct();
}
}
?>
function __autoload($class)
устарела:
Обновление для PHP 7.x и выше
spl_autoload_register(function($class)
{
if(strpos($class, 'CI_') !== 0)
{
@include_once( APPPATH . 'core/'. $class . '.php' );
}
});