我正在为练习这 2 节课而写:
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中的第一个练习,所以我需要学习更多。
取决于范围:
$this->variable
用于对象内部
self::$variable
用于静态类内部
parent::$variable
用于在子对象内部用于访问父类
$variable
在本地范围内使用
类成员不是本地的,它们是相对超级的。
在其他语言中,您可以访问没有"this"的类成员。php不是这种情况。在这里,您都必须使用"$this"。