現在の位置: ホーム> 最新記事一覧> PHP機能アクセス許可の詳細な説明:公開、保護、プライベートを正しく設定する方法

PHP機能アクセス許可の詳細な説明:公開、保護、プライベートを正しく設定する方法

M66 2025-07-28

PHP機能アクセス許可レベルの紹介

PHPオブジェクト指向プログラミングでは、関数のアクセス権限が関数を呼び出すことができるコードを決定します。アクセス権の修飾子を設定することにより、開発者は機能の可視性とアクセス範囲を柔軟に制御し、それによりコードのセキュリティとカプセル化を強化できます。

アクセス権修飾子とその機能

公共

一般に変更された関数は、すべてのコードに表示され、クラスの外部を含むどこでも呼び出すことができます。

例:

 public function publicFunction() {
  // 関数コード
}

保護(保護)

保護された修正機能は、関数を定義するクラスとそのサブクラスによってのみアクセスでき、クラスの直接の外側では呼び出すことはできません。

例:

 protected function protectedFunction() {
  // 関数コード
}

プライベート(プライベート)

プライベートによって変更された関数は、関数自体を定義するクラスによってのみアクセスでき、サブクラスとクラス外の両方でアクセスできません。

例:

 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();
    // 次の呼び出しはエラーを引き起こします,なぜならprivateFunctionそれはプライベートです
    // $this->privateFunction();
  }
}

$child = new ChildClass();
$child->publicFunction();
$child->protectedFunction(); // ここで電話すると、エラーが報告されます,protected機能にはクラスの直接アクセスできません

この例では、 ParentClassは異なるアクセス権限を持つ関数を定義します。チャイルドクラスの保育は、親クラスで公共および保護された機能にアクセスできますが、プライベート機能ではありません。保護された関数は、クラスの外側に直接呼び出すことはできないことに注意する必要があります。

要約します

Access Rights Modifiersの合理的な使用は、PHPオブジェクト指向の設計の重要な部分です。関数のアクセスレベルを正しく指定することにより、クラスの内部実装の詳細を効果的に保護でき、必要なインターフェイスが外の世界に提供され、それによってコードのカプセル化と再利用が実現されます。