关于php对象的问题
时间:2011-08-25
来源:互联网
{
function foo()
{
if (isset($this)) {
echo '$this is defined (';
echo get_class($this);
echo ")\n";
} else {
echo "\$this is not defined.\n";
}
}
}
class B
{
function bar()
{
A::foo();
}
}
A::foo();
$b = new B();
$b->bar();
输出结果是
$this is not defined. $this is defined (B)
谁能帮我解释下啊
作者: turn 发布时间: 2011-08-25
作者: turn 发布时间: 2011-08-25
作者: 007gddk 发布时间: 2011-08-25
作者: turn 发布时间: 2011-08-25
这和PHP的对象无关系,只与PHP的类的函数定义有关系。
作者: jesuiszing 发布时间: 2011-08-25
PHP中类的函数定义如果不加任何修饰,敢情是可以对象和类都可以调用的。。。这样就没啥奇怪的
$this is not defined,这句是你用A::foo()调用时的返回值,此时没有对象,反馈正常。
$this is defined (B),这句是你用$b->bar();调用时的返回值,此时是用B产生的对象调用A类中的foo函数,反馈正常。没啥奇怪的啊。
作者: jesuiszing 发布时间: 2011-08-25
作者: iminto 发布时间: 2011-08-25
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28