PHP開発プロセスでは、許可制御はコードセキュリティと明確な構造を確保するための重要な手段です。 PHPは修飾子を使用して、主にパブリック、保護、プライベートの3つのタイプを含むクラス内の属性とメソッドのアクセス権を定義します。これらの修飾子の理解と合理的な使用は、高品質のオブジェクト指向コードを作成するために不可欠です。この記事では、これら3つの許可修飾子を1つずつ説明し、特定のコード例を伴い、包括的に習得するのに役立ちます。
パブリック修飾子はパブリックアクセス権を示し、修正された属性またはメソッドにクラスの内外で自由にアクセスできます。通常、外部にさらされることを希望する関数に使用されます。例は次のとおりです。
class Person {
public $name;
public function sayHello() {
echo 'Hello!私の名前は' . $this->name;
}
}
$person = new Person();
$person->name = 'Tom';
$person->sayHello();
上記のコードでは、$ name属性とsayhello()メソッドはどちらも公開されていると宣言されるため、クラス外のインスタンスを通じて直接アクセスして呼び出すことができます。
保護された修飾子は、保護されたアクセス権を表し、クラス自体とそのサブクラスへのアクセスのみを可能にし、外部からの直接アクセスと変更を防ぎます。内部ロジックを継承する必要があるが、自由に呼ばれることを望まないメンバーに適しています。例は次のとおりです。
class Person {
protected $name;
protected function sayHello() {
echo 'Hello!私の名前は' . $this->name;
}
}
class Student extends Person {
public function introduce() {
echo '私は' . $this->name . ',惑星アバターから';
}
}
$student = new Student();
$student->name = 'Lucy'; // エラーが報告されます,直接アクセスできませんprotected財産
$student->introduce();
この例では、$ name属性とsayhello()メソッドが保護されており、学生クラスはそれらにアクセスできますが、外部インスタンスは$ Student-> nameに直接アクセスしてデータのカプセル化を確認することはできません。
プライベート修飾子は、プライベートアクセス許可を表します。変更されたプロパティとメソッドは、クラスに内部的にのみアクセスでき、サブクラスと外部コードの両方にアクセスできません。厳格なパッケージを実装し、内部の詳細を隠すために使用されます。例は次のとおりです。
class Person {
private $name;
private function sayHello() {
echo 'Hello!私の名前は' . $this->name;
}
}
$person = new Person();
$person->name = 'Lily'; // エラーが報告されます,アクセスできないprivate財産
$person->sayHello(); // エラーが報告されます,アクセスできないprivate方法
この例では、$ nameとsayhello()はどちらもプライベートであるため、外部やサブクラス化にアクセスすることはできず、データとメソッドの完全なカプセルを確保します。
PHPの許可制御修飾子は、パブリック(パブリック)、保護(保護)、プライベート(プライベート)のさまざまなアクセススコープに対応しています。これらの修飾子の合理的な使用は、コードのセキュリティと保守性を高め、不必要なアクセスとエラーの変更を回避し、プログラムの堅牢性を向上させることができます。うまくいけば、この記事の紹介と例が、PHP許可制御修飾子をよりよく理解し、使用するのに役立つことを願っています。