首页 > 文章列表 > PHP 函数的访问权限级别如何指定?

PHP 函数的访问权限级别如何指定?

php 访问权限
478 2024-04-23

PHP 函数的访问权限级别指定了代码访问权限等级:Public:可被任何代码访问。Protected:可被同一类或子类访问。Private:仅可被定义函数的类访问。

PHP 函数的访问权限级别如何指定?

PHP 函数的访问权限级别指定

在 PHP 中,函数的访问权限级别指定了哪些代码可以访问该函数。通过使用访问权限修饰符,您可以控制函数的可见性。以下是在 PHP 中指定的访问权限级别:

1. Public

  • 公共访问权限级别允许任何代码访问该函数,无论它是在同一脚本中还是在不同的脚本中。

示例:

public function publicFunction() {
  // 函数代码
}

2. Protected

  • 受保护的访问权限级别允许在同一类中或其子类中访问该函数。

示例:

protected function protectedFunction() {
  // 函数代码
}

3. Private

  • 私有访问权限级别仅允许在定义函数的类中访问该函数。

示例:

private function privateFunction() {
  // 函数代码
}

实战案例

考虑以下示例,其中我们在不同的类中定义了具有不同访问权限级别的函数:

class ParentClass {
  public function publicFunction() {
    echo "Public function in parent class";
  }

  protected function protectedFunction() {
    echo "Protected function in parent class";
  }

  private function privateFunction() {
    echo "Private function in parent class";
  }
}

class ChildClass extends ParentClass {
  public function accessFunctions() {
    $this->publicFunction();
    $this->protectedFunction();
    // 错误:对私有函数无访问权限
    $this->privateFunction();
  }
}

// 实例化子类
$child = new ChildClass();

// 调用公共和受保护的函数
$child->publicFunction();
$child->protectedFunction();

在这个例子中,ParentClass 定义了具有不同访问权限级别的函数,而 ChildClass 继承了 ParentClassChildClass 中的 accessFunctions() 方法可以访问公共和受保护的函数,但对私有函数没有访问权限。