ฉันเพิ่งเริ่มใช้ CodeIgniter และได้ติดตามบทช่วยสอนระดับพรีเมียมของ Nettuts วิธีสร้าง CMS ใน Codeigniter
อันดับแรก ไดเรกทอรี แอปพลิเคชัน และ ระบบ ของฉันอยู่บนเส้นทางที่แตกต่างกันจาก public_html และกำหนดเส้นทางในไฟล์ config.php
ฉันได้สร้างสองไฟล์ Frontend_Controller.php และ Admin_Controller.php และภายในไฟล์เหล่านั้นสร้างคลาสดังต่อไปนี้
แอปพลิเคชัน/My_Controller.php
class MY_Controller extends CI_Controller
{
public $data = array();
function __construct()
{
parent::__construct();
$this->data['errors'] = array();
$this->data['site_name'] = config_item('site_name');
}
}
ไลบรารี/Frontend_Controller.php
class Frontend_Controller extends MY_Controller
{
function __construct()
{
parent::__construct();
}
}
ไลบรารี/Admin_Controller.php
class Admin_Controller extends MY_Controller
{
function __construct()
{
parent::__construct();
}
}
ตอนนี้เมื่อฉันพยายามโหลดคลาสเหนืออัตโนมัติโดยการเขียนฟังก์ชัน __autoload() ลงในไฟล์ config.php แต่มันไม่โหลดไฟล์/คลาส
config.php
function __autoload($classname)
{
if(strpos($classname, 'CI_' !== 0))
{
$file = APPPATH . 'libraries/' . $classname . '.php';
if(file_exists($file) && is_file($file))
{
@include_once($file);
}
}
}
ใครสามารถช่วยฉันเข้าใจและแก้ไขปัญหาได้ ... ขอบคุณมาก