首頁 >後端開發 >php教程 >PHP 函數的存取控制等級有哪些?

PHP 函數的存取控制等級有哪些?

PHPz
PHPz原創
2024-04-11 10:06:011002瀏覽

PHP 函數的存取控制等級有 3 個:public、protected、private。 public 函數可從任何地方訪問,protected 函數僅限於自身類別和子類別訪問,private 函數僅限於自身類別存取。修改存取控制等級時,只需在函數宣告前新增對應關鍵字,例如 public function、protected function、private function。

PHP 函数的访问控制级别有哪些?

PHP 函數的存取控制層級

PHP 函數的存取控制層級決定了該函數可以被哪些部分存取。它允許我們限制對函數的訪問,從而提高程式碼的可維護性和安全性。

存取控制層級

PHP 中有三個存取控制層級:

  • public: 函數可以從任何地方訪問。
  • protected: 函數只能從該函數所在的類別及其子類別中存取。
  • private: 函數只能從函數所在的類別中存取。

語法

修改存取控制層級時,只需在函數宣告前新增對應的關鍵字即可。

// public 函数
public function myPublicFunction() {
    // ...
}

// protected 函数
protected function myProtectedFunction() {
    // ...
}

// private 函数
private function myPrivateFunction() {
    // ...
}

實戰案例

假設我們有一個用於儲存使用者資料的類別 User#。我們希望只允許透過該類別的公共方法存取用戶資料。為了實現這一點,我們將對獲取使用者資料的函數設定為protected:

class User {
    protected $name;
    protected $email;

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

    public function getEmail() {
        return $this->email;
    }
}

現在,其他類別可以透過User 物件存取getName()getEmail() 方法,但無法直接存取$name$email 屬性。

注意事項

  • 預設情況下,PHP 函數的存取控制層級是 public。
  • 如果嘗試存取私有或受保護的函數,則會引發 Fatal Error
  • 受保護的函數可以在衍生類別中透過 parent:: 存取。
  • 考慮使用存取控制等級來保護對敏感資料和功能的存取。合理使用存取控制可以提高程式碼安全性。

以上是PHP 函數的存取控制等級有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn