CodeIgniter: “Unable to load the requested class”就是调用CI框架的library方法的时候,会出现library里面的类加载会不成功。
农成这里就给大家分析下原因,以及解决的方法。
我们先来看下CI这个自定义类库的使用规则及方法:
创建类库
当我们使用 “类库” 这个词的时候,通常我们指的是位于 libraries 这个目录下的那些类, 在我们这份用户手册的类库参考部分有详细的介绍。但是在这篇文章中,我们将介绍 如何在 application/libraries 目录下创建你自己的类库,和全局的框架类库独立开来。
另外,如果你希望在现有的类库中添加某些额外功能,CodeIgniter 允许你扩展原生的类, 或者你甚至可以在你的 application/libraries 目录下放置一个和原生的类库同名的文件 完全替代它。
总结起来:
- 你可以创建一个全新的类库,
- 你可以扩展原生的类库,
- 你可以替换掉原生的类库。
下面将详细讲述这三点。
注解
除了数据库类不能被扩展或被你的类替换外,其他的类都可以。
存储位置
你的类库文件应该放置在 application/libraries 目录下,当你初始化类时,CodeIgniter 会在这个目录下寻找这些类。
命名约定
- 文件名首字母必须大写,例如:Myclass.php
- 类名定义首字母必须大写,例如:class Myclass
- 类名和文件名必须一致
这个是CI官方文档的介绍。地址在这里:http://codeigniter.org.cn/user_guide/general/creating_libraries.html
我们要特别注意下农成上面标红加粗的部分。
就是说可能很多同学创建类库的时候,会犯跟农成一样的错误,就是创建的类库名字大小写没注意。那么现在问题就很明显了。
就是大小写的问题。不是什么linux系统的问题。为什么window下面有时候会调用成功呢?农成这里多说一句,就是window调用我们代码的时候,会有很多的不严谨性,所以CI框架本身很多自身的限制就粗略的带过了。
$this->load->library('upload_image');这个调用的时候,其实不区分大小写的,但是文件类库名字一定要区分大小写,一定要大写。 $ret = $this->upload_image->upload('file');
未经允许不得转载:微信信息发源地 » CodeIgniter: “Unable to load the requested class”
评论前必须登录!
登陆 注册