PHP 関数のアクセス制御レベルは何ですか?

PHPz
リリース: 2024-04-11 10:06:01
オリジナル
951 人が閲覧しました

PHP 関数には、パブリック、プロテクト、プライベートの 3 つのアクセス制御レベルがあります。パブリック関数はどこからでもアクセスでき、保護関数はその独自のクラスとサブクラスにのみアクセスでき、プライベート関数はその独自のクラスにのみアクセスできます。アクセス制御レベルを変更する場合は、関数宣言の前に、public 関数、protected 関数、private 関数などの対応するキーワードを追加するだけです。

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

#PHP 関数のアクセス制御レベル

PHP 関数のアクセス制御レベルにより、関数のどの部分にアクセスできるかが決まります。これにより、関数へのアクセスを制限できるため、コードの保守性とセキュリティが向上します。

アクセス制御レベル

PHP には 3 つのアクセス制御レベルがあります。

  • public: 関数は次のとおりです。すべてのプレイス訪問からアクセスできます。
  • protected: 関数には、その関数が配置されているクラスとそのサブクラスからのみアクセスできます。
  • private: 関数には、その関数が配置されているクラスからのみアクセスできます。
#構文

アクセス制御レベルを変更する場合は、関数宣言の前に対応するキーワードを追加するだけです。

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

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

// private 函数
private function myPrivateFunction() {
    // ...
}
ログイン後にコピー

実際的なケース

ユーザー データを保存するためのクラス

User

があるとします。このクラスのパブリック メソッドを介してのみユーザー データへのアクセスを許可したいと考えています。これを実現するには、ユーザー データを取得する関数を保護に設定します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>class User { protected $name; protected $email; public function getName() { return $this-&gt;name; } public function getEmail() { return $this-&gt;email; } }</pre><div class="contentsignin">ログイン後にコピー</div></div> これで、他のクラスが User<p> オブジェクトを通じて <code>getName() および # にアクセスできるようになります。 #getEmail() メソッドを使用できますが、$name プロパティと $email プロパティに直接アクセスすることはできません。

デフォルトでは、PHP 関数のアクセス制御レベルはパブリックです。

    プライベート関数または保護された関数にアクセスしようとすると、
  • 致命的エラー
  • が発生します。
  • 保護された関数は、parent::
  • を介して派生クラスでアクセスできます。
  • アクセス制御レベルを使用して、機密データおよび機能へのアクセスを保護することを検討してください。アクセス制御を適切に使用すると、コードのセキュリティを向上させることができます。

以上がPHP 関数のアクセス制御レベルは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!