php中文网

PHP自定义函数的访问控制和可见性级别

php中文网

php 函数的可见性级别决定了函数可以从哪里访问,有三种级别:public(任何地方)、protected(类本身及其子类)和 private(仅限定义类);设置可见性使用 public、protected 和 private 关键字,例如 public 函数可从任何地方访问,protected 函数仅限类本身及其子类访问,private 函数仅限定义类访问。

PHP 自定义函数的访问控制和可见性级别

在 PHP 中,函数的可见性级别决定了函数可以从哪里访问。有三种可见性级别:

  • public:函数可以从任何地方访问。
  • protected:函数只能从类本身及其子类访问。
  • private:函数只能从定义它的类中访问。

设置可见性级别

立即学习“PHP免费学习笔记(深入)”;

使用 public、protected 和 private 关键字在函数定义中设置可见性级别。例如:

public function publicFunction() {
    // ...
}

protected function protectedFunction() {
    // ...
}

private function privateFunction() {
    // ...
}

实战案例

考虑以下场景:

我们有一个 User 类,其中包含 getName() 和 setName() 方法。我们希望 getName() 方法对所有用户可见,而 setName() 方法只有在用户登录后才能被调用。

我们可以这样实现:

class User {
    private $name;

    public function getName() {
        return $this->name;
    }

    protected function setName($name) {
        if ($this->isLoggedIn()) {
            $this->name = $name;
        } else {
            throw new Exception("User must be logged in to set name.");
        }
    }
}

在这个例子中:

  • getName() 方法是公共的,任何人都可以调用它。
  • setName() 方法是受保护的,只能在 User 类及其子类中调用。
  • isLoggedIn() 方法检查用户是否登录,这是一个私有方法,只能在 User 类中调用。

这样,我们就实现了访问控制,确保敏感信息(如用户的姓名)只有在必要时才能被修改。

以上就是PHP自定义函数的访问控制和可见性级别的详细内容,更多请关注php中文网其它相关文章!