我正在写这两个课程:
abstract class SocialNetworks
{
abstract protected function getFacebookGraph();
} // class SocialNetworks
class GetSocialNetworks extends SocialNetworks
{
protected $fbData;
public function setFacebookData($facebookData) {
$this->fbData = $facebookData;
$this->getFacebookGraph($this->fbData);
}
protected function getFacebookGraph() {
print_r($this->fbData);
}
}
($facebookData
是一个数组)。
在此模式下,此类正确打印我传递的数组。
但我无法以任何模式“直接”访问$fbData
但只能使用$this->fbData
。否则我得到
Undefined variable: fbData
是正常的还是直接使用$fbData
我再说一遍......这些是我在OOP的第一次练习,所以我需要学习越来越多。
答案 0 :(得分:1)
取决于范围:
$this->variable
在对象
self::$variable
在静态类
parent::$variable
用于在子对象内部访问父类
$variable
在本地范围内使用
班级成员不是本地成员,他们是相对超级的。
答案 1 :(得分:0)
在其他语言中,您可以访问没有“this”的班级成员。这不是php的情况。在这里你总是要使用“$ this”。