设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
请问CI_Controller::get_instance()是返回CI_Controller ...
返回列表
查看:
4997
|
回复:
5
[已解决]
请问CI_Controller::get_instance()是返回CI_Controller的实例化对象么
[复制链接]
jaka
jaka
当前离线
积分
7
IP卡
狗仔卡
发表于 2011-4-21 17:39:07
|
显示全部楼层
|
阅读模式
看到源代码里面定义有个get_instance()函数,返回的就是CI_Controller::get_instance(),可是我找不到任何实例化对象的代码(比如应该有个new xxx()),所以不知道这个函数到底返回了什么。
有人知道能解释一下么?谢谢
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
jeongee
jeongee
当前离线
积分
5618
IP卡
狗仔卡
发表于 2011-4-21 18:12:18
|
显示全部楼层
呵呵,返回的就是CI的超级类了,也就是CI_Controller本身,也就是你在控制器中用的$this,CI中的类都是单例的,只会初始化一次的,CI_Controller类的初始化你可以在system/core/CodeIgniter.php中找到~~
回复
支持
反对
使用道具
举报
显身卡
jaka
jaka
当前离线
积分
7
IP卡
狗仔卡
楼主
|
发表于 2011-4-21 18:33:38
|
显示全部楼层
谢谢jeongee,可我实在不明白它是怎么初始化的,因为没有看到new CI_Controller()这样的句子,只看到
PHP
复制代码
return
self
::
$instance
;
复制代码
,这个只是返回实例
主要还是不明白CI_Controller实例是怎么构造出来
回复
支持
反对
使用道具
举报
显身卡
jeongee
jeongee
当前离线
积分
5618
IP卡
狗仔卡
发表于 2011-4-21 18:54:39
|
显示全部楼层
回复
3#
jaka
呵呵,那是个单例,你搜下PHP单例
回复
支持
反对
使用道具
举报
显身卡
jaka
jaka
当前离线
积分
7
IP卡
狗仔卡
楼主
|
发表于 2011-4-21 19:20:01
|
显示全部楼层
谢谢版主,我明白了,当子类控制器实例化的时候,基类CI_Controller会自动执行构造函数。
回复
支持
反对
使用道具
举报
显身卡
lianke123
lianke123
当前离线
积分
179
IP卡
狗仔卡
发表于 2011-8-9 10:41:00
|
显示全部楼层
学习了,不错,刚才就用到了
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页