搜索
首页php教程PHP开发CodeIgniter学习笔记 Item9--CI中的类库

CodeIgniter类库

所有的类库文件存放在system/libraries 文件夹。大多数情况下你需要预先在controller中初始化后才能使用它们:

[code]$this->load->library('class name');

class name是你想要使用的类名。例如,要载入“表单验证类”,你可以这样做:

[code]$this->load->library('form_validation');

建立你的类库文件 

你的类库文件必须保存在 application/libraries 文件夹,CodeIgniter将在这个文件夹中寻找并初始化它们。

命名约定 

文件名首字母大写。例如: Myclass.php 

类声明首字母大写。例如: class Myclass 

类的名字和文件名应相同。 

所有的类应有基础原型

[code]<?php if (!defined(&#39;BASEPATH&#39;)) exit(&#39;No direct script access allowed&#39;);
class Someclass {
    public function some_function()
    {
    }
}
/* End of file Someclass.php */

在所有的Controller 函数中,你可以用以下的标准方式初始化你的类:

[code]$this->load->library(&#39;someclass&#39;);

当 someclass 是文件名时,不用加上”.php”扩展名.这里名字不分大小写. 

一旦你自定义的类加载完毕,你可以通过以下方式调用类,注意使用 小写 的名字:

[code]$this->someclass->some_function();  // 对象的实例名永远都是小写的

当初始化类库时,你可以通过第二个参数动态的传递数组到类的构造函数中去:

[code]$params = array(&#39;type&#39; => &#39;large&#39;, &#39;color&#39; => &#39;red&#39;);
$this->load->library(&#39;Someclass&#39;, $params);

当你使用这个特性时,你必须为类的构造函数加上参数:

[code]<?php if (!defined(&#39;BASEPATH&#39;)) exit(&#39;No direct script access allowed&#39;);
class Someclass {
    public function __construct($params)
    {
        // Do something with $params
    }
}
?>


要在你自定义的类库中访问CodeIgniter的原始资源,你必须使用 get_instance() 函数。一般来说在你的控制器函数中你可以通过 $this 调用任何可用的CodeIgniter函数:

[code]$this->load->helper(&#39;url&#39;);
$this->load->library(&#39;session&#39;);
$this->config->item(&#39;base_url&#39;);

当你在自定义类中想使用CodeIgniter原始类时,你可以这样做: 

首先,定义CodeIgniter对象赋给一个变量:

[code]$CI =& get_instance();

一旦定义某个对象为一个变量,你就可以使用那个变量名取代 $this:

[code]$CI =& get_instance();
$CI->load->helper('url');
$CI->load->library('session');
$CI->config->item('base_url');

替换原始类

简单的将你自己的类命名为与原始类一样就能使CodeIgniter使用这个新类.要使用这个特性,文件名与类声明必须与原始类完全一致。例如,要替换原始的 Email 类库。你必须创建一个文件application/libraries/Email.php, 并按如下方式声明类:

[code]class CI_Email 
{
}

扩展现有类

如果你需要在现有类库中加入一两个新的功能,那就完全不必要替换整个类库文件.你只需简单地扩展(继承)现有的类,扩展一个类就像在类中增加一些例外: 

扩展的类必须申明由父类扩展而来。 

新扩展的类所在的文件必须以 MY_ 为前缀(这个选项是可配置的)。 

例如,要扩展原始类Email类你要建立文件application/libraries/MY_Email.php,并按如下方式在文件中声明:

[code]class MY_Email extends CI_Email 
{
}


要载入扩展子类,你应该使用标准字符名,请不要使用前缀,例如,要载入上文说过的email扩展子类,你应该这样写:

[code]$this->load->library(&#39;email&#39;);


 以上就是CodeIgniter学习笔记 Item9--CI中的类库的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中