设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 进阶讨论
›
CI源码load_class疑惑,请教
返回列表
查看:
6447
|
回复:
4
[Others]
CI源码load_class疑惑,请教
[复制链接]
baiyuxiong
baiyuxiong
当前离线
积分
3505
IP卡
狗仔卡
发表于 2010-4-29 20:54:52
|
显示全部楼层
|
阅读模式
我看到CI里,common.php里,有这么一句:
PHP
复制代码
$objects
[
$class
]
=&
instantiate_class
(
new
$name
(
)
)
;
复制代码
而instantiate_class,很简单:
PHP
复制代码
function
&
instantiate_class
(
&
$class_object
)
{
return
$class_object
;
}
复制代码
我不明白,为什么要用instantiate_class函数,而不是直接:
PHP
复制代码
$objects
[
$class
]
=
new
$name
(
)
;
复制代码
谢谢~~
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
xiaoniao
xiaoniao
当前离线
积分
495
IP卡
狗仔卡
发表于 2010-4-29 23:31:23
|
显示全部楼层
我猜可能跟这个& 引用符号有关
得先把引用这个东西弄清楚先
回复
支持
反对
使用道具
举报
显身卡
zhuzuoling
zhuzuoling
当前离线
积分
124
IP卡
狗仔卡
发表于 2010-4-30 09:27:16
|
显示全部楼层
这是为了向后扩展(php4)
因为php4在实例化对象的时候相当php5的__clone()方法
function &instantiate_class(&$class_object)
{
return $class_object;
}而这个函数括号中&是引用原始对象函数名前&是返回一个可修改实例(也就是地址)
回复
支持
反对
使用道具
举报
显身卡
saturn
saturn
当前离线
积分
1844
IP卡
狗仔卡
发表于 2010-4-30 10:15:08
|
显示全部楼层
你的答案在这里
http://codeigniter.org.cn/forums/viewthread.php?tid=4893
请看我的签名。
回复
支持
反对
使用道具
举报
显身卡
baiyuxiong
baiyuxiong
当前离线
积分
3505
IP卡
狗仔卡
楼主
|
发表于 2010-4-30 14:56:39
|
显示全部楼层
回复
4#
saturn
呵呵,没想到这么冷门的问题居然有人问过。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页