关于网友提出的“PHP类中使用new对当前类的方法返回值创建实例”问题疑问,本网通过在网上对“PHP类中使用new对当前类的方法返回值创建实例”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:PHP类中使用new对当前类的方法返回值创建实例
描述:使用new对当前类中的方法返回值创建实例,会调用与方法同名的属性,若不存在同名属性,会报错。为什么会这样,求教。
className(); //实际调用的是属性$className
}
public function callClassName() {
$this->className();
}
public function className() {
echo "foo\n";
}
};
class Bar {
public function hello() {
echo "bar\n";
}
};
$foo = new Foo();
$bar = $foo->make(); //获得类Bar的实例
echo "expecting 'bar': ";
$bar->hello(); //output:bar
echo "expecting 'foo': ";
$foo->callClassName(); //output:foo
?>
解决方案1:没错啊,$foo->callClassName()是对象的callClassName()方法,
$foo->callClassName是对象的属性,方法是公共的,可以获取,属性是是私有的,当然会报错
以上介绍了“PHP类中使用new对当前类的方法返回值创建实例”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1355068.html