ホームページ >バックエンド開発 >PHPの問題 >PHPでクラスのpublic修飾子を変更する方法

PHPでクラスのpublic修飾子を変更する方法

PHPz
PHPzオリジナル
2023-04-10 09:34:40614ブラウズ

PHP クラスの public 修飾子は広く使用されており、クラスのプロパティまたはメソッドが表示され、外部コードからアクセスできることを示すために使用されます。ただし、コードが成長して複雑になると、特定のプロパティまたはメソッドへのアクセスを変更する必要が生じる場合があります。このとき、クラス内の public 修飾子をどのように変更するかを検討する必要があります。

PHP の public 修飾子

PHP では、クラス属性とメソッドはデフォルトで public に設定されます。これは、どのコードからも表示および使用できることを意味します。たとえば、クラスを定義します。

class ExampleClass {
    public $public_property = 'This is a public property';
    public function public_method() {
        echo 'This is a public method';
    }
}

ExampleClass という名前のクラスを定義します。このクラスには、パブリック プロパティ $public_property とパブリック メソッド public_method が含まれています。これらのプロパティとメソッドは、外部コードからアクセスして使用できます。

パブリック修飾子の変更

アクセス修飾子を変更することで、クラスのプロパティとメソッドのアクセス許可を制御できます。 PHP には、public、protected、private の 3 つのアクセス修飾子があります。

デフォルトでは、public 修飾子を使用します。ただし、場合によっては、特定のプロパティまたはメソッドのアクセス許可を保護またはプライベートに設定する必要がある場合があります。では、クラス内の public 修飾子を変更するにはどうすればよいでしょうか?

  1. 属性のアクセス権を変更する

クラス内の属性については、protected または private 修飾子を使用してアクセス権を制限できます。保護されたプロパティはクラスとサブクラス内でのみアクセスでき、プライベート プロパティはクラス内でのみアクセスできます。

class ExampleClass {
    public $public_property = 'This is a public property';
    protected $protected_property = 'This is a protected property';
    private $private_property = 'This is a private property';
    public function public_method() {
        echo 'This is a public method';
    }
}

上の例では、ExampleClass に $public_property、$protected_property、$private_property の 3 つのプロパティを定義しました。このうち、$public_property はパブリック プロパティ、$protected_property は保護されたプロパティ、$private_property はプライベート プロパティです。

  1. メソッドのアクセス許可を変更する

クラス内のメソッドについては、protected または private 修飾子を使用してアクセス許可を制限することもできます。ただし、保護されたメソッドとプライベート メソッドはクラス内でのみ使用できることに注意することが重要です。

class ExampleClass {
    public function public_method() {
        echo 'This is a public method';
        $this->protected_method();
        $this->private_method();
    }
    protected function protected_method() {
        echo 'This is a protected method';
    }
    private function private_method() {
        echo 'This is a private method';
    }
}

上の例では、パブリック メソッド public_method を定義し、2 つの保護されたメソッド protected_method とプライベート メソッド private_method も定義しました。 public_method では、$this を使用して、保護されたメソッドとプライベート メソッドにアクセスできます。

概要

PHP では、public 修飾子が広く使用されており、デフォルトでクラス属性とメソッドに適用されます。ただし、プロパティまたはメソッドの使用をクラス内のみに制限する必要がある場合は、 protected または private 修飾子を使用できます。このメソッドは、クラス内のプロパティとメソッドのアクセス許可を効果的に制御できるため、コードのセキュリティと保守性が確保されます。

以上がPHPでクラスのpublic修飾子を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。