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 修飾子を変更するにはどうすればよいでしょうか?
クラス内の属性については、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 はプライベート プロパティです。
クラス内のメソッドについては、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 サイトの他の関連記事を参照してください。