插件窝 干货文章 php的访问权限有哪些

php的访问权限有哪些

访问 public protected private 907    来源:    2025-03-17

在PHP中,访问权限(也称为访问控制或可见性)用于控制类的属性和方法的访问范围。PHP提供了三种主要的访问权限修饰符:

  1. public(公共)

    • 公共属性和方法可以在类的内部、外部以及子类中访问。
    • 这是最宽松的访问级别,没有任何限制。
    class MyClass {
       public $publicProperty = 'Public Property';
    
       public function publicMethod() {
           return 'Public Method';
       }
    }
    
    $obj = new MyClass();
    echo $obj->publicProperty;  // 输出: Public Property
    echo $obj->publicMethod();  // 输出: Public Method
    
  2. protected(受保护)

    • 受保护的属性和方法只能在类的内部以及子类中访问。
    • 不能在类的外部直接访问。
    class MyClass {
       protected $protectedProperty = 'Protected Property';
    
       protected function protectedMethod() {
           return 'Protected Method';
       }
    }
    
    class MySubClass extends MyClass {
       public function accessProtected() {
           echo $this->protectedProperty;  // 输出: Protected Property
           echo $this->protectedMethod();  // 输出: Protected Method
       }
    }
    
    $obj = new MySubClass();
    $obj->accessProtected();
    
  3. private(私有)

    • 私有属性和方法只能在定义它们的类的内部访问。
    • 不能在类的外部或子类中访问。
    class MyClass {
       private $privateProperty = 'Private Property';
    
       private function privateMethod() {
           return 'Private Method';
       }
    
       public function accessPrivate() {
           echo $this->privateProperty;  // 输出: Private Property
           echo $this->privateMethod();  // 输出: Private Method
       }
    }
    
    $obj = new MyClass();
    $obj->accessPrivate();
    

总结

  • public:任何地方都可以访问。
  • protected:只能在类内部和子类中访问。
  • private:只能在类内部访问。

这些访问权限修饰符帮助开发者控制类的封装性,确保类的内部实现细节不会被外部代码随意修改或访问,从而提高代码的安全性和可维护性。