资讯专栏INFORMATION COLUMN

CI-CodeIgniter中“超级对象”:$CI =& get_instance()

blankyao / 2349人阅读

摘要:要你自定义的类库中访问的原始资源你必须使用函数这个函数返回一个一般来说在你的控制器函数中你可以通过调用任何可用的函数只直接作用在你自己的控制器模型和视图中当你在自定义类中想使用原始类时你可以这样做首先定义对象赋给一个变量一旦定义

要你自定义的类库中访问CodeIgniter的原始资源,你必须使用 get_instance() 函数.这个函数返回一个CodeIgniter super object.

一般来说在你的控制器函数中你可以通过 $this 调用任何可用的CodeIgniter函数:

$this->load->helper("url");
$this->load->library("session");
$this->config->item("base_url");

$this, 只直接作用在你自己的控制器,模型和视图中.当你在自定义类中想使用CodeIgniter原始类时,你可以这样做:

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

$CI =& get_instance();

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

$CI =& get_instance();

$CI->load->helper("url");
$CI->load->library("session");
$CI->config->item("base_url");

注意: 你将注意到get_instance()这个函数通过被引用的方式被传递:

$CI =& get_instance();

这十分重要. 通过引用的方式赋给变量将使使用原始的CodeIgniter对象,而不是创建一个拷贝

同时,请注意: 如果你使用php 4,那么请最好不要在类的构造函数中调用 get_instance() .php4在引用位于构造函数中的CI super object时存在问题,因为对象只有在类完全实例化后才存在.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22330.html

相关文章

  • CodeIgniter笔记

    摘要:移除中的开启的模块,在项目目录中新建文件,添加如下内容获取超级对象使用辅助函数一般情况下,辅助函数位于或者目录目录下。模型命名规则类名的第一个字母必须大写,其余部分小写。文件名和类名应该一致。 移除URL中的index.php 开启Apache的mod_rewrite模块,在项目目录中新建.htaccess 文件,添加如下内容 RewriteEngine On RewriteCond ...

    Michael_Lin 评论0 收藏0
  • CI 框架简单入门笔记

    摘要:方法名不区分大小写。当时有面试官还问过,我以为所有的框架都是,真是汗颜的属性有等的超级对象类分段获取从入口文件后,分断获取是按照后面开始的第一个段开始。 1.mvc一般思路 C层: 入口文件-URL获取控制器$_GET[c]和方法$_GET[a]--包含c的文件类(控制器文件)- 实例化c控制器对象-调用方法a(并协调模型和视图),C层不直接调用DB,下面会有提到。 V层: 在C层中i...

    Kross 评论0 收藏0
  • 轻量级高性能PHP框架ycroute

    摘要:数据交互层可选如果你习惯了层结构,你可以加载层,作为与数据库交互的层,而层作为业务层。 YCRoute github: https://github.com/caohao-php... 目录 框架介绍 运行环境 代码结构 路由配置 过滤验签 控制层 加载器 模型层 数据交互dao层(可选) Redis缓存操作 数据库操作 配置加载 公共类加载 公共函数 日志模块 视图层 RPC 介绍...

    dailybird 评论0 收藏0
  • 前端自动化部署-.gitlab-ci.yml配置

    一、前言该过程中用到的技术栈git gitlab shell需要提前准备的内容一个项目myweb本机安装Git一个Gitlab仓库docker私有仓库gitlab runner(Gitlab-runner)公司的代码一般都保存在私有化部署的Gitlab,要使用Gitlab的CI/CD,需要Gitlab版本>8.0.0CI/CD虽然不难,但配置过程中有很多坑,而且有些要了解的概念也比较多,可以...

    社区管理员 评论0 收藏0
  • 每天一个设计模式之单例模式

    摘要:博主按每天一个设计模式旨在初步领会设计模式的精髓,目前采用靠这吃饭和纯粹喜欢两种语言实现。单例模式用途如果一个类负责连接数据库的线程池日志记录逻辑等等,此时需要单例模式来保证对象不被重复创建,以达到降低开销的目的。 博主按:《每天一个设计模式》旨在初步领会设计模式的精髓,目前采用javascript(_靠这吃饭_)和python(_纯粹喜欢_)两种语言实现。诚然,每种设计模式都有多种实...

    yy736044583 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<