使用CI框架怎么创建一个自定义类库

  介绍

本篇文章给大家分享的是有关使用CI框架怎么创建一个自定义类库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<>强命名约定

<李>

文件名首字母必须大写,例如:Myclass。李php

<李>

类名定义首字母必须大写,例如:Myclass类

<李>

类名和文件名必须一致

<强>类文件

类应该定义成如下原型:

& lt; php ?   定义(& # 39;BASEPATH& # 39;),或是退出(& # 39;No  direct  script  access 允许# 39;);   class  Someclass  {   ,public  function  some_method ()   ,{   ,}   }

<强>使用你的类

在你的控制器的任何方法中使用如下代码初始化你的类:

$ this→→加载库(& # 39;someclass& # 39;);

其中,someclass为文件名,不包括。php文件扩展名。文件名可以写成首字母大写,也可以写成全小写,CodeIgniter都可以识别。

一旦加载,你就可以使用小写字母名称来访问你的类:

$ this→someclass→some_method ();

<强>初始化类时传入参数

在加载类库的时候,你可以通过第二个参数动态的传递一个数组数据,该数组将被传到你的类的构造函数中:

params 美元;=,数组(& # 39;类型# 39;,=祝辞,& # 39;大# 39;,,& # 39;颜色# 39;,=祝辞,& # 39;红色# 39;);   $ this→负载→库(& # 39;someclass& # 39;,,美元params);

如果你使用了该功能,你必须在定义类的构造函数时加上参数:

& lt; ? php 定义(& # 39;BASEPATH& # 39;),或是退出(& # 39;No  direct  script  access 允许# 39;);   class  Someclass  {   ,public  function  __construct (params)美元   ,{//才能,Do  something  with  params美元   ,}   }

你也可以将参数保存在配置文件中来传递,只需简单的创建一个和类文件同名的配置文件,并保存到你的应用程序/配置/目录下。要注意的是,如果你使用了上面介绍的方法动态的传递参数,配置文件将不可用。

<强>在你的类库中使用CodeIgniter资源

在你的类库中使用<代码> get_instance() 函数来访问CodeIgniter的原生资源,这个函数<强>返回CodeIgniter超级对象

通常情况下,<强>在你的控制器方法中你会使用 <代码> $ this <强>来调用所有可用的CodeIgniter方法:

$ this→负载→辅助(& # 39;url # 39;);   $ this→负载→库(& # 39;会话# 39;);   $ this→设置→项目(& # 39;base_url # 39;);

但是<代码> $ this <强>只能在你的控制器,模型或视图中直接使用强,如果你想在你自己的类中使用CodeIgniter类,你可以像下面这样做:

首先,将CodeIgniter对象赋值给一个变量:

CI 美元;=,,get_instance ();

一旦你把CodeIgniter对象赋值给一个变量之后,你就可以使用这个变量来代替$ this

CI 美元;=,,get_instance ();      CI→美元负载→辅助(& # 39;url # 39;);   CI→美元负载→库(& # 39;会话# 39;);   美元CI→设置→项目(& # 39;base_url # 39;);

注:

上面的<代码> get_instance() 函数通过引用来传递:

CI 美元;=,,get_instance ();

这是非常重要的,引用赋值允许你使用原始的CodeIgniter对象,而不是创建一个副本。

既然类库是一个类,那么我们最好充分的使用OOP原则,所以,为了让类中的所有方法都能使用CodeIgniter超级对象,建议将其赋值给一个属性:

class  Example_library  {   ,protected  CI美元;   ,//我们# 39;ll  use  a 构造函数,,as 你停下来# 39;t  directly  call  a 函数   ,//得到a  property 定义。   ,public  function  __construct ()   ,{//才能,Assign 从而CodeIgniter  super-object   这个美元才能→CI =,, get_instance ();   ,}   ,public  function  foo ()   ,{   这个美元才能→CI→负载→辅助(& # 39;url # 39;);   重定向才能();   ,}   ,public  function 酒吧()   ,{   echo 才能;这→美元CI→设置→项目(& # 39;base_url # 39;);   ,}   }

<强>使用你自己的类库替换原生类库

使用CI框架怎么创建一个自定义类库