在 PHP 中,可以使用访问控制修饰符来定义类的属性和方法的访问权限。PHP 中有三种访问控制修饰符:
-
public:公共的,所有的代码都可以访问。在 class 类中声明的属性和方法默认是 public 的,意味着它们可以在任何地方被访问。
-
protected:受保护的,只有子类和父类中的代码可以访问。在 class 类中声明一个 protected 的属性或方法时,它只能被类本身和继承它的类访问。
-
private:私有的,只有在当前类中可以访问。在 class 类中声明一个 private 的属性或方法时,只有在声明它的类内部才能访问。
例如:
class MyClass {
public $publicVar;
protected $protectedVar;
private $privateVar;
public function __construct() {
$this->publicVar = "public";
$this->protectedVar = "protected";
$this->privateVar = "private";
}
public function getVars() {
echo "Public var: " . $this->publicVar . "<br>";
echo "Protected var: " . $this->protectedVar . "<br>";
echo "Private var: " . $this->privateVar . "<br>";
}
}
$obj = new Myclass();
$obj->getVars();
在上述代码中,$publicVar 是 public 的,可以在任何地方被访问;$protectedVar 是 protected 的,只有在 MyClass 类和继承 MyClass 的子类中可以访问;$privateVar 是 private 的,只有在 MyClass 类中可以访问。因此,$obj->getVars() 方法可以访问 $publicVar 和 $protectedVar,但无法访问 $privateVar。