Jān*_*ris 7 php visibility class object instance
对象的方法是否应该能够访问同一类的另一个对象的受保护属性?
我在PHP编码,我刚刚发现,即使不是同一个对象,也允许通过同一个类的方法访问对象的protected属性.
在该示例中,首先,您将在输出中获得"3" - 因为函数readOtherUser将成功访问该值 - 之后将发生PHP致命错误 - 因为主程序将无法访问相同的值.
<?php
class user
{
protected $property = 3;
public function readOtherUser ()
{
$otherUser = new user ();
print $otherUser->property;
}
}
$user = new user ();
$user->readOtherUser ();
print $user->property;
?>Run Code Online (Sandbox Code Playgroud)
这是一个PHP错误还是预期的行为(我将不得不重新学习这个概念...... :))(并且有参考这个事实)?如何在其他编程语言中完成?
谢谢!