Kelas dan Objek dalam PHP
PHP, seperti Java, menyokong pengaturcaraan berorientasikan objek dan menggunakan kelas serta objek sebagai blok binaan terasnya. Memahami konsep ini adalah penting untuk menguasai PHP. Panduan ini akan merangkumi semua yang anda perlu tahu tentang kelas dan objek dalam PHP.
Menentukan Kelas
Kelas dalam PHP ialah rangka tindakan untuk mencipta objek. Ia mentakrifkan struktur dan gelagat yang akan dimiliki oleh objek kelas.
Sintaks
class ClassName { // Properties (Fields) // Methods }
Contoh
class Car { // Properties public $color; public $model; public $year; // Methods public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Mencipta Objek
Objek ialah contoh kelas. Anda mencipta objek daripada kelas menggunakan kata kunci baharu.
Sintaks
$objectName = new ClassName();
Contoh
class Main { public function run() { $myCar = new Car(); // Creating an object of the Car class $myCar->color = "Red"; $myCar->model = "Tesla"; $myCar->year = 2022; $myCar->displayInfo(); } } $main = new Main(); $main->run();
Sifat dan Kaedah
Sifat (juga dikenali sebagai medan) mewakili keadaan objek, manakala kaedah mentakrifkan kelakuan objek.
Hartanah
Sifat ialah pembolehubah yang menyimpan data sesuatu objek.
Contoh
class Car { public $color; public $model; public $year; }
Kaedah
Kaedah ialah fungsi yang ditakrifkan dalam kelas yang menerangkan gelagat objek.
Contoh
class Car { public $color; public $model; public $year; public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Pembina
Pembina ialah kaedah khas yang dipanggil secara automatik apabila objek dibuat seketika. Mereka memulakan objek yang baru dibuat.
Pembina Lalai
Jika tiada pembina ditakrifkan, PHP menyediakan pembina lalai tanpa hujah.
Contoh
class Car { public $color; public $model; public $year; // Default constructor public function __construct() { } public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Pembina Berparameter
Pembina berparameter membolehkan anda memulakan objek dengan nilai tertentu.
Contoh
class Car { public $color; public $model; public $year; // Parameterized constructor public function __construct($color, $model, $year) { $this->color = $color; $this->model = $model; $this->year = $year; } public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Menggunakan Pembina Parameter
class Main { public function run() { $myCar = new Car("Red", "Tesla", 2022); $myCar->displayInfo(); } } $main = new Main(); $main->run();
Lebihan Pembina
PHP tidak menyokong kaedah lebih muatan secara asli seperti Java, tetapi anda boleh mensimulasikannya menggunakan parameter pilihan atau dengan mengendalikan hujah secara manual dalam satu pembina.
Contoh
class Car { public $color; public $model; public $year; // Simulating constructor overloading public function __construct($color = "Unknown", $model = "Unknown", $year = 0) { $this->color = $color; $this->model = $model; $this->year = $year; } public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Menggunakan Pembina Terlebih Beban Simulasi
class Main { public function run() { $defaultCar = new Car(); $defaultCar->displayInfo(); $myCar = new Car("Red", "Tesla", 2022); $myCar->displayInfo(); } } $main = new Main(); $main->run();
Enkapsulasi, Pengubahsuai Akses dan Ahli Statik dalam PHP
Enkapsulasi
Encapsulation dalam PHP ialah amalan menghimpun data (sifat) dan kaedah (fungsi) dalam kelas. Ia memastikan keadaan dalaman sesuatu objek selamat daripada gangguan dan penyalahgunaan luar.
Akses Pengubahsuai
Pengubah suai akses dalam PHP mengawal keterlihatan dan kebolehcapaian sifat, kaedah dan pembina. PHP menyokong tiga pengubah akses utama:
- awam: Boleh diakses dari mana-mana sahaja.
- dilindungi: Boleh diakses dalam kelas, subkelas dan pakej yang sama.
- peribadi: Hanya boleh diakses dalam kelas yang menentukan.
Contoh Penggunaan:
class ClassName { // Properties (Fields) // Methods }
Ahli Statik
Ahli statik dalam PHP dikaitkan dengan kelas itu sendiri dan bukannya sebarang contoh tertentu. Mereka boleh diakses tanpa membuat objek kelas.
Sifat Statik:
Sifat statik dikongsi antara semua kejadian kelas. Ia diisytiharkan menggunakan kata kunci statik.
class Car { // Properties public $color; public $model; public $year; // Methods public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Kaedah Statik:
Kaedah statik diisytiharkan menggunakan kata kunci statik. Mereka tergolong dalam kelas dan bukannya contoh.
$objectName = new ClassName();
Mengakses Ahli Statik:
Ahli statik diakses menggunakan nama kelas, bukan melalui objek.
class Main { public function run() { $myCar = new Car(); // Creating an object of the Car class $myCar->color = "Red"; $myCar->model = "Tesla"; $myCar->year = 2022; $myCar->displayInfo(); } } $main = new Main(); $main->run();
Akses Pengubahsuai dalam PHP
Pengubah suai akses dalam PHP mengawal keterlihatan ahli kelas, memastikan pengkapsulan dan menguatkuasakan sekatan akses.
Jenis Pengubahsuai Akses
- awam
- dilindungi
- peribadi
1. awam
- Boleh diakses daripada: Di mana-mana sahaja.
- Penggunaan: Gunakan awam untuk ahli yang perlu diakses secara meluas.
class Car { public $color; public $model; public $year; }
2. dilindungi
- Boleh diakses daripada: Dalam kelas dan subkelasnya.
- Penggunaan: Gunakan dilindungi untuk ahli yang hanya boleh diakses dalam hierarki kelas.
class Car { public $color; public $model; public $year; public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
3. persendirian
- Boleh diakses daripada: Hanya dalam kelas.
- Penggunaan: Gunakan persendirian untuk ahli yang tidak boleh diakses di luar kelas yang menentukan.
class Car { public $color; public $model; public $year; // Default constructor public function __construct() { } public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Pengubah Suai Bukan Akses dalam PHP
Pengubah suai bukan akses dalam PHP mengubah suai gelagat ahli kelas tanpa menjejaskan keterlihatan mereka.
Jenis Pengubahsuai Bukan Akses
- statik
- akhir
- abstrak
1. statik
- Penggunaan: Mengisytiharkan sifat dan kaedah yang dimiliki oleh kelas dan bukannya tika.
- Contoh:
class ClassName { // Properties (Fields) // Methods }
2. muktamad
- Penggunaan: Menghalang pengubahsuaian lanjut kaedah atau pewarisan kelas.
- Pembolehubah: PHP tidak menyokong pembolehubah akhir.
- Kaedah: Kaedah akhir tidak boleh ditindih.
- Kelas: Kelas akhir tidak boleh dilanjutkan.
- Contoh:
class Car { // Properties public $color; public $model; public $year; // Methods public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
3. abstrak
- Penggunaan: Mengisytiharkan kelas dan kaedah yang tidak lengkap dan mesti dilaksanakan dalam subkelas.
- Kelas Abstrak: Tidak boleh dibuat seketika.
- Kaedah Abstrak: Diisytiharkan tanpa badan dan mesti dilaksanakan oleh subkelas.
- Contoh:
$objectName = new ClassName();
Warisan dalam PHP dan Pengubahsuai Akses
Warisan
Pewarisan dalam PHP ialah mekanisme di mana satu kelas (subclass) boleh mewarisi sifat dan kaedah kelas lain (superclass). Ia memudahkan penggunaan semula kod dan membolehkan penciptaan hubungan hierarki antara kelas.
Sintaks untuk Warisan
class Main { public function run() { $myCar = new Car(); // Creating an object of the Car class $myCar->color = "Red"; $myCar->model = "Tesla"; $myCar->year = 2022; $myCar->displayInfo(); } } $main = new Main(); $main->run();
Contoh
class Car { public $color; public $model; public $year; }
Dalam contoh ini:
- Haiwan ialah superclass dengan sifat $name dan kaedah eat().
- Dog ialah subkelas yang mewarisi $name dan eat() daripada Animal dan menambah kaedahnya sendiri bark().
Akses Pengubahsuai dalam Warisan
Pengubah suai akses dalam PHP menentukan keterlihatan ahli kelas dalam subkelas dan bahagian lain program. Mereka memainkan peranan penting dalam pewarisan.
Akses Pengubah Suai untuk Atribut dan Kaedah Biasa
- awam: Boleh diakses dari mana-mana sahaja.
- dilindungi: Boleh diakses dalam kelas, subkelas dan dalam pakej yang sama.
- peribadi: Hanya boleh diakses dalam kelas di mana ia diisytiharkan.
class Car { public $color; public $model; public $year; public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Akses Pengubah Suai untuk Atribut dan Kaedah Statik
Ahli statik dalam PHP dikaitkan dengan kelas dan bukannya sebarang contoh tertentu. Mereka mengikut peraturan akses yang sama seperti ahli bukan statik dalam warisan.
class Car { public $color; public $model; public $year; // Default constructor public function __construct() { } public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Adakah Kaedah Statik Diwarisi?
Kaedah statik diwarisi dalam PHP tetapi tidak boleh ditindih dalam erti kata yang sama seperti kaedah contoh. Apabila subkelas mentakrifkan kaedah statik dengan nama yang sama, ia menyembunyikan kaedah statik kelas induk.
class ClassName { // Properties (Fields) // Methods }
Akses Pengubahsuai untuk Kaedah Abstrak
Kaedah abstrak dalam PHP mesti ditakrifkan dalam kelas abstrak. Keterlihatan kaedah abstrak dalam superclass menentukan keterlihatannya dalam subkelas. Subkelas mesti melaksanakan kaedah abstrak dengan pengubah suai akses yang sama atau kurang ketat.
class Car { // Properties public $color; public $model; public $year; // Methods public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Akses Pengubah Suai untuk Atribut dan Kaedah Akhir
Kaedah akhir dalam PHP tidak boleh ditindih oleh subkelas dan kelas akhir tidak boleh dilanjutkan.
- Kaedah Akhir: Cegah kaedah mengatasi.
- Kelas Akhir: Cegah pewarisan.
$objectName = new ClassName();
Sintaks untuk Mengisytiharkan Kelas Tahap Atas dalam PHP
Dalam PHP, pengisytiharan kelas peringkat atas (kelas tidak bersarang di dalam kelas lain) mengikut susunan kata kunci tertentu. Pengisytiharan boleh termasuk pengubah suai akses, kata kunci abstrak atau akhir dan kata kunci kelas.
Kata kunci yang boleh digunakan:
- Pengubah suai akses: awam
- Jenis kelas: abstrak atau muktamad
Pesanan:
class ClassName { // Properties (Fields) // Methods }
Sintaks:
class Car { // Properties public $color; public $model; public $year; // Methods public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Nota Penting:
- PHP menganggap awam sebagai pengubah suai akses lalai jika tiada yang dinyatakan.
- Kelas tidak boleh abstrak dan muktamad serentak.
- pengubah suai akses dilindungi dan peribadi tidak dibenarkan untuk kelas peringkat atasan.
Contoh:
$objectName = new ClassName();
Sintaks untuk Mengisytiharkan Atribut dalam Kelas dalam PHP
Kata kunci yang boleh digunakan:
- Pengubah suai akses: awam, dilindungi, peribadi
- Pengubah suai statik: statik
- Pengubah suai tidak berubah: baca sahaja (diperkenalkan dalam PHP 8.1)
Pesanan:
class Main { public function run() { $myCar = new Car(); // Creating an object of the Car class $myCar->color = "Red"; $myCar->model = "Tesla"; $myCar->year = 2022; $myCar->displayInfo(); } } $main = new Main(); $main->run();
Sintaks:
class Car { public $color; public $model; public $year; }
Nota Penting:
- Atribut lalai kepada umum jika tiada pengubah suai akses ditentukan.
- atribut statik tergolong dalam kelas dan bukannya kejadian.
- atribut baca sahaja hanya boleh dimulakan sekali, sama ada semasa pengisytiharan atau dalam pembina (PHP 8.1).
Contoh:
class Car { public $color; public $model; public $year; public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Sintaks untuk Mengisytiharkan Kaedah dalam Kelas dalam PHP
Kata kunci yang boleh digunakan:
- Pengubah suai akses: awam, dilindungi, peribadi
- Pengubah suai statik: statik
- Pengubah suai akhir: muktamad
- Pengubah suai abstrak: abstrak
Pesanan:
class Car { public $color; public $model; public $year; // Default constructor public function __construct() { } public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Sintaks:
class Car { public $color; public $model; public $year; // Parameterized constructor public function __construct($color, $model, $year) { $this->color = $color; $this->model = $model; $this->year = $year; } public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Nota Penting:
- Jika tiada pengubah suai akses dinyatakan, kaedah tersebut adalah awam secara lalai.
- kaedah statik tergolong dalam kelas, bukan kejadian.
- kaedah akhir tidak boleh ditindih dalam subkelas.
- kaedah abstrak mesti diisytiharkan dalam kelas abstrak dan tidak boleh mempunyai badan.
Contoh:
class Main { public function run() { $myCar = new Car("Red", "Tesla", 2022); $myCar->displayInfo(); } } $main = new Main(); $main->run();
Kelas Abstrak dalam PHP
Kelas abstrak dalam PHP adalah serupa dengan rakan sejawatannya di Java, digunakan untuk menentukan pelan tindakan untuk kelas lain. Ia mengandungi kedua-dua kaedah abstrak (kaedah tanpa pelaksanaan) dan kaedah konkrit (kaedah dengan pelaksanaan). Kelas abstrak diisytiharkan menggunakan kata kunci abstrak dan tidak boleh digunakan secara langsung.
1. Pengenalan kepada Kelas Abstrak
Kelas abstrak berfungsi sebagai kelas asas untuk kelas terbitan. Ia mentakrifkan gelagat biasa untuk subkelasnya sambil membenarkan pelaksanaan kaedah khusus dalam subkelas tersebut.
2. Mengisytiharkan Kelas Abstrak
Untuk mengisytiharkan kelas abstrak dalam PHP, gunakan kata kunci abstrak sebelum kata kunci kelas.
Contoh:
class ClassName { // Properties (Fields) // Methods }
3. Kaedah Abstrak
Kaedah abstrak ditakrifkan dalam kelas abstrak tetapi tidak mempunyai badan. Subkelas mesti melaksanakan semua kaedah abstrak.
Contoh:
class Car { // Properties public $color; public $model; public $year; // Methods public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
4. Kaedah Konkrit
Kaedah konkrit dalam kelas abstrak mempunyai badan dan boleh diwarisi oleh subkelas seperti sedia ada atau ditindih.
Contoh:
$objectName = new ClassName();
5. Mencipta Subkelas
Subkelas kelas abstrak mesti melaksanakan semua kaedah abstraknya melainkan subkelas itu juga diisytiharkan sebagai abstrak.
Contoh:
class Main { public function run() { $myCar = new Car(); // Creating an object of the Car class $myCar->color = "Red"; $myCar->model = "Tesla"; $myCar->year = 2022; $myCar->displayInfo(); } } $main = new Main(); $main->run();
6. Mengadakan Kelas Abstrak
Kelas abstrak tidak boleh dibuat secara langsung. Anda mesti menggunakan subkelas konkrit untuk mencipta tika.
Contoh:
class Car { public $color; public $model; public $year; }
7. Pembina dalam Kelas Abstrak
Kelas abstrak boleh mempunyai pembina, dan pembinanya dipanggil apabila subkelas dijadikan instantiated.
Contoh:
class Car { public $color; public $model; public $year; public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
8. Kelas Abstrak dengan Medan dan Kaedah
Kelas abstrak boleh termasuk pembolehubah contoh dan kaedah konkrit, menyediakan kefungsian boleh guna semula untuk subkelas.
Contoh:
class Car { public $color; public $model; public $year; // Default constructor public function __construct() { } public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
9. Kaedah Statik dalam Kelas Abstrak
Kelas abstrak boleh mengandungi kaedah statik. Kaedah statik tergolong dalam kelas dan boleh dipanggil tanpa membuat seketika.
Contoh:
class ClassName { // Properties (Fields) // Methods }
Sintaks untuk Mengisytiharkan Kelas Abstrak dalam PHP
Kata kunci yang boleh digunakan:
- abstrak
- awam, dilindungi, peribadi (pengubah suai akses)
Pesanan:
class Car { // Properties public $color; public $model; public $year; // Methods public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Contoh:
Kelas Abstrak dengan Kaedah Abstrak dan Konkrit
$objectName = new ClassName();
Kelas Abstrak dengan Medan dan Kaedah Akhir
class Main { public function run() { $myCar = new Car(); // Creating an object of the Car class $myCar->color = "Red"; $myCar->model = "Tesla"; $myCar->year = 2022; $myCar->displayInfo(); } } $main = new Main(); $main->run();
Nota Penting:
- Kelas abstrak tidak boleh dibuat secara langsung.
- Kaedah abstrak mesti dilaksanakan oleh subkelas bukan abstrak.
- Subkelas yang tidak melaksanakan semua kaedah abstrak juga mesti diisytiharkan sebagai abstrak.
- Kaedah konkrit dalam kelas abstrak adalah pilihan untuk subkelas untuk menimpa.
- Kelas abstrak boleh mempunyai pembina, sifat dan pemalar.
- Kelas abstrak boleh menggunakan sebarang pengubah keterlihatan untuk kaedah dan sifatnya.
Antara muka dalam PHP
Antara muka dalam PHP mentakrifkan kontrak untuk kelas yang melaksanakannya. Ia menentukan kaedah yang mesti dilaksanakan oleh kelas, tetapi tidak menyediakan sebarang pelaksanaan kaedah itu sendiri. Antara muka membenarkan kod yang lebih fleksibel dan modular, membolehkan kelas mematuhi set tandatangan kaedah biasa, tanpa mengira hierarki warisannya.
1. Pengenalan kepada Antara Muka
Antara muka dalam PHP adalah serupa dengan kelas abstrak, tetapi ia hanya boleh mentakrifkan tandatangan kaedah tanpa sebarang pelaksanaan. Kelas yang melaksanakan antara muka mesti menyediakan pelaksanaan untuk semua kaedah yang diisytiharkan dalam antara muka. Kelas boleh melaksanakan berbilang antara muka, menjadikan antara muka sebagai bahagian penting sokongan PHP untuk pewarisan berbilang tingkah laku.
2. Mengisytiharkan Antara Muka
Untuk mengisytiharkan antara muka, gunakan kata kunci antara muka. Antara muka hanya boleh mengandungi pengisytiharan kaedah (tiada badan kaedah), pemalar dan kaedah abstrak.
Contoh:
class Car { public $color; public $model; public $year; }
3. Melaksanakan Antara Muka
Kelas yang melaksanakan antara muka mesti menyediakan pelaksanaan untuk semua kaedah yang diisytiharkan dalam antara muka. Kelas boleh melaksanakan berbilang antara muka, memisahkannya dengan koma.
Contoh:
class Car { public $color; public $model; public $year; public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
4. Tandatangan Kaedah Antara Muka
Kaedah dalam antara muka tidak boleh mempunyai badan, dan ia mestilah awam. Apabila kelas melaksanakan antara muka, ia mesti melaksanakan kaedah ini betul-betul seperti yang diisytiharkan dalam antara muka, termasuk tandatangan kaedah.
Contoh:
class Car { public $color; public $model; public $year; // Default constructor public function __construct() { } public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
5. Pelaksanaan Pelbagai Antaramuka
Kelas dalam PHP boleh melaksanakan berbilang antara muka. Ini membolehkan lebih fleksibiliti dalam mereka bentuk sistem di mana kelas boleh mematuhi kontrak yang berbeza.
Contoh:
class ClassName { // Properties (Fields) // Methods }
6. Pemalar Antara Muka
Antara muka boleh mengandungi pemalar. Pemalar ini terbuka secara automatik dan boleh diakses oleh mana-mana kelas yang melaksanakan antara muka.
Contoh:
class Car { // Properties public $color; public $model; public $year; // Methods public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
7. Warisan Antara Muka
Antara muka boleh memanjangkan antara muka yang lain. Ini bermakna antara muka anak mewarisi semua kaedah (tandatangan) daripada antara muka induk, dan juga boleh menambah kaedah baharu. Kelas yang melaksanakan antara muka kanak-kanak mesti melaksanakan semua kaedah daripada kedua-dua antara muka ibu bapa dan anak.
Contoh:
$objectName = new ClassName();
8. Kaedah Statik dalam Antara Muka
Antara muka tidak boleh mengandungi kaedah statik. Semua kaedah yang diisytiharkan dalam antara muka mestilah kaedah contoh. Kaedah statik tidak dibenarkan dalam antara muka, kerana antara muka mentakrifkan kontrak peringkat contoh untuk kelas pelaksana.
Sintaks untuk Mengisytiharkan dan Melaksanakan Antara Muka dalam PHP
Kata kunci yang boleh digunakan:
- antara muka
- awam
Pesanan:
class Main { public function run() { $myCar = new Car(); // Creating an object of the Car class $myCar->color = "Red"; $myCar->model = "Tesla"; $myCar->year = 2022; $myCar->displayInfo(); } } $main = new Main(); $main->run();
Contoh:
Antara muka dengan Tandatangan Kaedah
class Car { public $color; public $model; public $year; }
Antara Muka dengan Pelbagai Pelaksanaan
class Car { public $color; public $model; public $year; public function displayInfo() { echo "Model: " . $this->model . "\n"; echo "Color: " . $this->color . "\n"; echo "Year: " . $this->year . "\n"; } }
Nota Penting:
- Kaedah Antara Muka: Kaedah dalam antara muka mestilah terbuka dan tidak boleh mempunyai badan.
- Melaksanakan Pelbagai Antara Muka: Kelas boleh melaksanakan berbilang antara muka, memisahkannya dengan koma.
- Pengubah Suai Akses: Semua kaedah dalam antara muka adalah terbuka secara tersirat. Pengubah suai akses seperti peribadi atau dilindungi tidak dibenarkan.
- Pemalar Antara Muka: Antara muka boleh mengisytiharkan pemalar yang secara automatik terbuka dan boleh diakses dengan melaksanakan kelas.
- Warisan Antara Muka: Antara muka boleh memanjangkan satu atau lebih antara muka, menggabungkan tandatangan kaedah mereka.
- Kaedah Statik: Antara muka tidak boleh mengandungi kaedah statik.
- Melaksanakan Semua Kaedah: Kelas mesti melaksanakan semua kaedah yang ditakrifkan oleh antara muka yang dilaksanakannya.
Atas ialah kandungan terperinci PHP, Kelas dan Objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Masalah dan penyelesaian biasa untuk skop pembolehubah PHP termasuk: 1. Pembolehubah global tidak dapat diakses dalam fungsi, dan ia perlu diluluskan menggunakan kata kunci atau parameter global; 2. Pembolehubah statik diisytiharkan dengan statik, dan ia hanya dimulakan sekali dan nilai dikekalkan antara pelbagai panggilan; 3. Pembolehubah hyperglobal seperti $ _get dan $ _post boleh digunakan secara langsung dalam mana -mana skop, tetapi anda perlu memberi perhatian kepada penapisan yang selamat; 4. Fungsi Anonymous perlu memperkenalkan pembolehubah skop induk melalui kata kunci penggunaan, dan apabila mengubah suai pembolehubah luaran, anda perlu lulus rujukan. Menguasai peraturan ini boleh membantu mengelakkan kesilapan dan meningkatkan kestabilan kod.

Untuk mengendalikan muat naik fail PHP dengan selamat, anda perlu mengesahkan sumber dan jenis, mengawal nama fail dan laluan, menetapkan sekatan pelayan, dan memproses fail media dua kali. 1. Sahkan sumber muat naik untuk mengelakkan CSRF melalui token dan mengesan jenis mime sebenar melalui finfo_file menggunakan kawalan putih; 2. Namakan semula fail ke rentetan rawak dan tentukan pelanjutan untuk menyimpannya dalam direktori bukan web mengikut jenis pengesanan; 3. Konfigurasi PHP mengehadkan saiz muat naik dan direktori sementara Nginx/Apache melarang akses ke direktori muat naik; 4. Perpustakaan GD menyambung semula gambar -gambar untuk membersihkan data yang berpotensi.

Terdapat tiga kaedah umum untuk kod komen PHP: 1. Use // atau # untuk menyekat satu baris kod, dan disyorkan untuk menggunakan //; 2. Gunakan /.../ untuk membungkus blok kod dengan pelbagai baris, yang tidak boleh bersarang tetapi boleh diseberang; 3. Komen -komen kemahiran gabungan seperti menggunakan / jika () {} / untuk mengawal blok logik, atau untuk meningkatkan kecekapan dengan kunci pintasan editor, anda harus memberi perhatian kepada simbol penutupan dan mengelakkan bersarang apabila menggunakannya.

Ageneratorinphpisamemory-efficientwaytoiterateOverlargedatasetsbyieldingvaluesonateatimeNsteadofreturningthemallatonce.1.GeneratorSuseTheyEldeyWorderWorderToProducevaluuesondemand,

Kunci untuk menulis komen PHP adalah untuk menjelaskan tujuan dan spesifikasi. Komen harus menjelaskan "mengapa" dan bukannya "apa yang dilakukan", mengelakkan redundansi atau terlalu kesederhanaan. 1. Gunakan format bersatu, seperti docblock (/*/) untuk deskripsi kelas dan kaedah untuk meningkatkan keserasian dan keserasian alat; 2. Menekankan sebab -sebab di sebalik logik, seperti mengapa JS melompat perlu dikeluarkan secara manual; 3. Tambahkan gambaran keseluruhan gambaran sebelum kod kompleks, terangkan proses dalam langkah -langkah, dan membantu memahami idea keseluruhan; 4. Gunakan Todo dan Fixme secara rasional untuk menandakan item dan masalah untuk memudahkan penjejakan dan kerjasama berikutnya. Anotasi yang baik dapat mengurangkan kos komunikasi dan meningkatkan kecekapan penyelenggaraan kod.

Toinstallphpquickly, usexampponwindowsorhomeBrewonmacos.1.onwindows, downloadandInstallxampp, selectcomponents, startapache, andplaceFilesinhtdocs.2.alternative, secara manualstallphpfromphp.netandsheBerver.3

Dalam PHP, anda boleh menggunakan kurungan persegi atau pendakap keriting untuk mendapatkan aksara indeks spesifik rentetan, tetapi kurungan persegi disyorkan; Indeks bermula dari 0, dan akses di luar julat mengembalikan nilai null dan tidak dapat diberikan nilai; MB_SUBSTR dikehendaki mengendalikan watak multi-bait. Sebagai contoh: $ str = "hello"; echo $ str [0]; output h; dan watak -watak Cina seperti MB_SUBSTR ($ str, 1,1) perlu mendapatkan hasil yang betul; Dalam aplikasi sebenar, panjang rentetan perlu diperiksa sebelum gelung, rentetan dinamik perlu disahkan untuk kesahihan, dan projek berbilang bahasa mengesyorkan menggunakan fungsi keselamatan multi-bait secara seragam.

Tolearnphpeffectively, startbysettingupalocalverenvironmentusingToolsLikexamppandaCodeDitorLikevscode.1) InstallXamppforapa Che, MySql, danPhp.2) UseAcodeeditorForsyntaxSupport.3) testyoursetupwithasimplephpfile.next, learnphpbasicsincludingvariables, ech
