Dalam PHP, sifat dan kaedah ditakrifkan dalam kelas untuk merangkum data dan tingkah laku masing -masing. Inilah cara anda boleh menentukannya:
Properties: Ini adalah pembolehubah dalam kelas yang memegang data. Anda menentukan sifat dengan mengisytiharkan mereka dalam badan kelas. Anda boleh menggunakan pengubah akses seperti public
, private
, atau protected
sebelum nama harta untuk mengawal penglihatannya.
<code class="php">class Example { public $publicProperty; private $privateProperty; protected $protectedProperty; }</code>
Kaedah: Ini adalah fungsi yang ditakrifkan dalam kelas yang melaksanakan operasi atau memanipulasi sifat kelas. Sama seperti sifat, kaedah juga boleh mempunyai pengubah akses untuk menentukan penglihatan mereka.
<code class="php">class Example { public function publicMethod() { // Method implementation } private function privateMethod() { // Method implementation } protected function protectedMethod() { // Method implementation } }</code>
Apabila menentukan kaedah dan sifat, anda boleh menggunakan pengubah akses yang sesuai ( public
, private
, protected
) untuk menentukan bagaimana mereka boleh diakses dan diubah suai.
Dalam PHP, penglihatan ahli kelas (kaedah dan sifat) dikawal oleh pengubah akses. Inilah perbezaan di antara mereka:
Awam: Ahli -ahli yang diisytiharkan sebagai public
boleh diakses dari mana -mana sahaja, termasuk di luar kelas. Ini adalah penglihatan yang paling ketat.
<code class="php">class Example { public $publicProperty; public function publicMethod() { // Can be called from any context } }</code>
Swasta: Ahli -ahli yang diisytiharkan sebagai private
hanya boleh diakses dalam kelas yang ditakrifkan. Mereka tidak boleh diakses dari subkelas atau di luar kelas.
<code class="php">class Example { private $privateProperty; private function privateMethod() { // Can only be called from within this class } }</code>
Dilindungi: Ahli -ahli yang diisytiharkan sebagai protected
boleh diakses di dalam kelas dan dengan contoh -contoh subkelasnya. Mereka tidak boleh diakses dari luar hierarki kelas.
<code class="php">class Example { protected $protectedProperty; protected function protectedMethod() { // Can be called from within this class and subclasses } }</code>
Menggunakan pengubah akses ini dengan betul membantu dalam merangkumi kerja dalaman kelas dan mengekalkan integriti.
Pembina dan pemusnah adalah kaedah khas dalam kelas PHP yang dipanggil semasa penciptaan dan kemusnahan objek.
Pembina: Pembina adalah kaedah yang dipanggil secara automatik apabila objek kelas dimandikan. Dalam PHP, ia ditakrifkan menggunakan kaedah __construct
. Anda boleh menggunakannya untuk memulakan sifat objek atau melakukan operasi persediaan lain.
<code class="php">class Example { private $name; public function __construct($name) { $this->name = $name; echo "Object created with name: " . $this->name . "\n"; } } $obj = new Example("John"); // Outputs: Object created with name: John</code>
Destructor: Destructor adalah kaedah yang dipanggil apabila objek tidak lagi dirujuk atau akan dimusnahkan. Dalam PHP, ia ditakrifkan menggunakan kaedah __destruct
. Ia berguna untuk melaksanakan operasi pembersihan, seperti sambungan pangkalan data penutupan atau sumber melepaskan.
<code class="php">class Example { private $name; public function __construct($name) { $this->name = $name; } public function __destruct() { echo "Object with name " . $this->name . " is being destroyed\n"; } } $obj = new Example("John"); unset($obj); // Outputs: Object with name John is being destroyed</code>
Dengan menggunakan pembina dan pemusnah dengan berkesan, anda boleh mengawal kitaran hayat objek anda.
Kaedah dan sifat penganjuran dalam kelas PHP dengan cara yang boleh dipelihara adalah penting untuk pembangunan berskala besar. Berikut adalah beberapa amalan terbaik:
private
dan protected
untuk sifat dan kaedah yang tidak perlu diakses dari luar kelas atau subkelasnya. Ini membantu dalam enkapsulasi dan mengekalkan keadaan dalaman kelas.Berikut adalah contoh yang menggabungkan amalan ini:
<code class="php">/** * Represents a User in the system. */ class User { /** * @var string The user's name. */ private $name; /** * @var string The user's email. */ private $email; /** * Initializes a new User instance. * * @param string $name The user's name. * @param string $email The user's email. */ public function __construct($name, $email) { $this->name = $name; $this->email = $email; } // Getter methods /** * Gets the user's name. * * @return string The user's name. */ public function getName() { return $this->name; } /** * Gets the user's email. * * @return string The user's email. */ public function getEmail() { return $this->email; } // Utility method /** * Sends an email to the user. * * @param string $subject The email subject. * @param string $message The email message. */ public function sendEmail($subject, $message) { // Code to send an email } /** * Destroys the user object. */ public function __destruct() { // Code to perform any cleanup if needed } }</code>
Dengan mengikuti amalan ini, anda boleh membuat lebih banyak kelas PHP yang dapat dipelihara dan difahami.
Atas ialah kandungan terperinci Bagaimana anda menentukan sifat dan kaedah dalam kelas PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!