昨天晚上一个坑爹的问题折腾了我一晚上,首先我来说下我的代码,我建立了一个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. Android四大基本组件之 Activity

    [Activity介绍] Activity 是用户接口程序,原则上它会提供给用户一个交互式的接口功能. 它是 android 应用程序的基本功能单元.Activity 本身是没有界面的.所以activ ...

  2. Discuz常见小问题-如何发布站点公告

    运营-站点公告,可以管理或添加新的公告   如果要添加要把这个终止时间设置的远一点,不然一个月之后就自动消失了   完成之后可以在首页,帖子的常规地方看到这些公告    

  3. windows系统IIS环境下安装memcache的方法

    1.首先下载memcached-1.2.1-win32.zip 下载地址http://download.csdn.net/detail/u011986449/8110579 这下是windows下的版 ...

  4. 我的第一段ionic代码

    ionic是基于angularjs的前端框架,用于实现移动app. 下面是第一段代码,先贴代码,有时间再整理: demo1.htm <!DOCTYPE html> <html ng- ...

  5. setsockopt之 TCP_KEEPIDLE/TCP_KEEPINTVL/TCP_KEEPCNT

    setsockopt之 TCP_KEEPIDLE/TCP_KEEPINTVL/TCP_KEEPCNT /*检测网线非法断开*/    setsockopt(iSockFd, SOL_SOCKET, S ...

  6. 算法笔记_036:预排序(Java)

    目录 1 问题描述 2 解决方案 2.1 检验数组中元素的唯一性 2.2 模式计算   1 问题描述 在计算机科学中,预排序是一种很古老的思想.实际上,对于排序算法的兴趣很大程度上是因为这样一个事实: ...

  7. 正确用DD测试磁盘读写速度

    转自:http://blogread.cn/it/article/6479?f=wb 问: 以下几种方式测试磁盘读写速度有什么区别? dd bs=1M count=128 if=/dev/zero o ...

  8. 这些小工具让你的Android 开发更高效

    在做Android 开发过程中,会遇到一些小的问题.尽管自己动手也能解决.可是有了一些小工具,解决这些问题就得心应手了,今天就为大家推荐一下Android 开发遇到的小工具,来让你的开发更高效. Vy ...

  9. spring3.1之前的HandlerMapping ,HandlerAdapter以及spring3.1写法

    <!--Spring3.1之前的注解 HandlerMapping --><!-- <bean class="org.springframework.web.serv ...

  10. 使用命令行设置树莓派的wifi网络

    假设你没有登录到经常使用的图形用户界面.这样的方法就适合用来设置树莓派的wifi.尤其是在你没有屏幕或者有线网络,仅使用串口控制线的时候.另外,这样的方法也不须要额外的软件,全部须要的东西都已经包括进 ...