昨天晚上一个坑爹的问题折腾了我一晚上,首先我来说下我的代码,我建立了一个index的控制器然后呢  在控制器里有一个index的方法。页面模板都有。

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class  Index  extends CI_Controller{

    public function index(){
$this->load->view('index.html');
}
}

然后你在浏览器中运行的话。就会出错...出错的页面如下。

看到这错误信息,我以为是控制出错,但是仔细检查发现没有错。然后我就开始怀疑是不是win7上的权限问题。然我给文件夹加上admin权限。发现还是这个问题..........,蛋疼呀~!~

我又以为是框架包的原因可能是我不小心删除了某个东西。然后我又从CI官网下载新的框架,从新搭建项目框架。发现还是这个错误[备注:当时心碎了,使劲的砸了鼠标几次,可怜的鼠标就当一次我的发泄品吧~!~]。。。。这样反反复复的折腾了我几个小时,看下手机上的时间我差 12点多....好吧   睡觉去吧。躺在床上还在想这个问题,我以前做过的几个项目也是用CI框架来做的啊,为什么没有这样的问题呢....... 就这样想着想着解决办法,就睡着了。。。。。。。。。

第二天快速的来到公司,从新搭建起昨晚相同的错误的框架,然后跟以前用CI框架做的项目,写的进行对比了下。咳咳,还真的找出原因来,原来是我控制器名和方法名不一样。然后我就改动着那个报错框架,把方法名换了一下,我查竟然好了。

然后我就开始思考为啥类名跟方法名相同就会报错呢

........................

想了会,原来是每一个类中都有一个相同名称的隐式的构造方法,如果自己在写一个的跟类名相同的方法名的话,就会跟构造方法冲突。

其实还有一种方法也可以解决,那就是在构造方法中继承父类的构造函数,因为子类可以从写父类的方法这样的话就不会报错了。

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

class Index  extends CI_Controller {

    public  function __construct(){

       parent::__construct();

    }

    public function index()
{ $this->load->view('show.html'); } }

CI框架中 类名不能以方法名相同的更多相关文章

  1. CI 框架中的自定义路由规则

    在 CI 框架中,一个 URL 和它对应的控制器中的类以及类中的方法是一一对应的,如: www.test.com/user/info/zhaoyingnan 其中 user 对应的就是控制器中的 us ...

  2. php CI框架中URL特殊字符处理与SQL注入隐患

    php CI框架中URL特殊字符处理与SQL注入隐患 php CI框架中URL特殊字符有很多是不支持的,导致像c++,括号这些常用的分类,字符都无法正常显示很头痛,而在配置里增加单引号' 反斜杠\ 这 ...

  3. php json_encode在CI框架中的使用细节

    这个错误的造成原因是加载类类库,转换成json格式的时候不熟悉CI框架的规定导致的,CI框架中规定在将数据转换成json格式的时候需要将类库小写,当然了,调用的时候必须保证有这个类库,且可以在对应的文 ...

  4. CI框架中集成CKEditor编辑器的教程

    CKEditor是在很多开发过程中都会用到的一个富文本编辑器,那么如何在CI框架中使用它呢?这里介绍了在CI下使用CKEditor的方法,版本比较低,是在CI 1.7.3下使用fckeditor 2. ...

  5. CI 框架中的日志处理 以及 404异常处理

    最近在整理项目中的日志问题,查了一些关于 “CI 框架中的日志处理 以及 404异常处理” 的东西,顺便记录一下: 关于错误日志: 1. 在CI框架中的 system/core/CodeIgniter ...

  6. CI框架中的奇葩

    今天在win下开发,使用ci框架,本来是没有任何问题,然后转向了mac上开发,结果出现了个奇葩的问题,就是在ci框架中,控制器命名以"Admin_"为前缀的,在url中,控制器也必 ...

  7. 对CI框架中几个文件libraries

    对CI框架中几个文件libraries,helpers,hooks夹说明 来源:未知    时间:2014-10-20 11:37   阅读数:117   作者:xbdadmin [导读] 1.lib ...

  8. CodeIgniter(CI)框架中的验证码

    在CodeIgniter框架中,CI本身自带了验证码,但是查看文档的时候,发现: 需要新建一个表,用来存储验证码信息.因为习惯了session存储验证码信息,所以我把我认为比较好看的验证码应用在了CI ...

  9. CI框架中自定义view文件夹位置

    要想自定义view文件夹的位置,首先要了解CI框架时如何加载view文件夹的. CI中默认调用view的方法是: $this->load->view(); //这一行代码的原理是什么呢?请 ...

随机推荐

  1. 【Hibernate一】概述及入门

    Hibernate学习框架: 1.基本部分      crud的操作      主键的生成机制      类型      持久化类      映射文件 *.hbm.xml      配置文件 hibe ...

  2. 《tortoisegit》 Network error:Connection refused

    在用tortoisegit克隆的时候,或者push的时候出现错误提示: 尝试修改:c:\windows\system32\drivers\etc\services 中的ssh端口,但是发现是22端口, ...

  3. VMware 9.0.1安装Mac OS X Mountain Lion 10.8.2

    原地址:http://zengwu3915.blog.163.com/blog/static/278348972013117114742496/ 所需软件1.VMware Workstation Bu ...

  4. UML和模式应用学习笔记-2(迭代和进化式开发)

    一:什么是迭代和进化式开发 1:迭代和进化式开发:通常会在还没有详细定义所有需求的情况下假设开发开始,同时使用反馈来明确和改进演化中的规格说明: 2:迭代方法与较高的成功率.生产率和低缺陷率具有关系: ...

  5. webpack 编译图片文件 file-loader

    1.安装插件 npm i file-loader --save-dev  npm i url-loader --save-dev  npm install image-webpack-loader - ...

  6. MQTT---HiveMQ源代码具体解释(四)插件载入

    源博客地址:http://blog.csdn.net/pipinet123 MQTT交流群:221405150 实现功能 将全部放在plugins文件夹下的全部符合plugin编写规范的plugin ...

  7. 中文latex去掉图片描述

    中文latex去掉图片描述,或者自定义: \usepackage{caption} \caption*{the title of figure}就可以自己定义了.

  8. laravel使用的模板引擎 blade

    使用blade引擎的话必须在控制器中使用use   Blade

  9. iOS官方文档阅读 基本格式指北

    一些关键词作用 NS_AVAILABLE 表示可用 如 NS_AVAILABLE(NA, 6_0);例如上面这句就是表示 该方法在6.0系统后可用 如果在6.0以下的系统用不了的 或者直接崩溃. NS ...

  10. iOS学习笔记30-系统服务(三)蓝牙

    一.蓝牙 随着蓝牙低功耗技术BLE(Bluetooth Low Energy)的发展,蓝牙技术正在一步步成熟,现在的大部分移动设备都配备有蓝牙4.0,相比之前的蓝牙技术耗电量大大减少. 在iOS中进行 ...