用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2944|回复: 4
收起左侧

[版本 3.x] CI3.0里面控制器继承的问题

[复制链接]
发表于 2016-5-20 13:21:37 | 显示全部楼层 |阅读模式
我想让一个控制器继承一个我自己写的公用控制器  可是一直报错 Fatal error: Class 'Common' not found in D:\XAMPP\htdocs\ci\application\controllers\home\index.php on line 4  说找不到该控制器  ,我知道config里面有个类前缀为 MY_  但改了还是找不到  不知道该怎么办  我的三个控制器 都在同一层里面<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Index extends Common {  --------------这里报错  我的 common继承的CI_Controller

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

        //$this->load->model('Home_model');
        //$this->load->helper('url_helper');
    }

发表于 2016-5-20 14:40:18 | 显示全部楼层
common控制器应该放到项目文件夹下的core文件夹下,他才会自动加载,你把common放到controller文件夹下,它根本没加载,当然找不到了。其实也可以通过require加载一下common控制器,就可以了。
 楼主| 发表于 2016-5-20 14:54:48 | 显示全部楼层
csw_phper 发表于 2016-5-20 14:40
common控制器应该放到项目文件夹下的core文件夹下,他才会自动加载,你把common放到controller文件夹下,它 ...

嗯嗯 我之后也放进去试过了  还是报没找到 是不是和config里面的类名前缀有关 我把那个默认的“MY_”删除了  我的控制文件都是 common.php   类名是common  我放在core下面可还是说找不到common类名
发表于 2016-5-20 15:13:01 | 显示全部楼层
CodeIgniter.php的369行,看一下,应该就能明白了,这里加载了core里扩展的核心类。
关键是文件的名字必须是前缀加controller的形式,只要文件被加载了,类名称正确就一定可以找到。
 楼主| 发表于 2016-5-21 11:56:13 | 显示全部楼层
csw_phper 发表于 2016-5-20 15:13
CodeIgniter.php的369行,看一下,应该就能明白了,这里加载了core里扩展的核心类。
关键是文件的名字必须 ...

感谢   原来必须要带这个 controller后缀啊

本版积分规则