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)

Topik panas

TosecurelyhandleAuthenticationandauthorizationInphp, ikuti: 1.alwayshashpasswordswithpassword_hash () andverifyUsingPassword_verify (), usePePreparedStatementStopreventsqlInjection, andStoreUserDatain $ _SessionAsLogin.2.implescureRoleRoleRoleRoleRole

Untuk mengendalikan muat naik fail dengan selamat di PHP, terasnya adalah untuk mengesahkan jenis fail, menamakan semula fail, dan menyekat kebenaran. 1. Gunakan finfo_file () untuk memeriksa jenis mime sebenar, dan hanya jenis tertentu seperti imej/jpeg dibenarkan; 2. Gunakan uniqid () untuk menghasilkan nama fail rawak dan simpannya dalam direktori akar bukan web; 3. Hadkan saiz fail melalui borang php.ini dan html, dan tetapkan kebenaran direktori ke 0755; 4. Gunakan Clamav untuk mengimbas malware untuk meningkatkan keselamatan. Langkah -langkah ini dengan berkesan menghalang kelemahan keselamatan dan memastikan bahawa proses muat naik fail adalah selamat dan boleh dipercayai.

Dalam PHP, perbezaan utama antara == dan == adalah ketat pemeriksaan jenis. == Penukaran jenis akan dilakukan sebelum perbandingan, contohnya, 5 == "5" pulangan benar, dan === meminta nilai dan jenis adalah sama sebelum benar akan dikembalikan, sebagai contoh, 5 === "5" mengembalikan palsu. Dalam senario penggunaan, === lebih selamat dan harus digunakan terlebih dahulu, dan == hanya digunakan apabila penukaran jenis diperlukan.

Kaedah menggunakan operasi matematik asas dalam PHP adalah seperti berikut: 1. Tanda tambahan menyokong bilangan bulat dan nombor terapung, dan juga boleh digunakan untuk pembolehubah. Nombor rentetan akan ditukar secara automatik tetapi tidak disyorkan kepada kebergantungan; 2. Tanda -tanda pengurangan - tanda, pembolehubah adalah sama, dan penukaran jenis juga terpakai; 3. Tanda -tanda pendaraban menggunakan tanda *, yang sesuai untuk nombor dan rentetan yang serupa; 4. Bahagian menggunakan / tanda, yang perlu mengelakkan pembahagian dengan sifar, dan perhatikan bahawa hasilnya mungkin nombor terapung; 5. Mengambil tanda modulus boleh digunakan untuk menilai angka ganjil dan bahkan, dan apabila memproses nombor negatif, tanda -tanda selebihnya selaras dengan dividen. Kunci untuk menggunakan pengendali ini dengan betul adalah untuk memastikan bahawa jenis data adalah jelas dan keadaan sempadan ditangani dengan baik.

Ya, PHP boleh berinteraksi dengan pangkalan data NoSQL seperti MongoDB dan Redis melalui sambungan atau perpustakaan tertentu. Pertama, gunakan pemacu MongoDBPHP (dipasang melalui PECL atau komposer) untuk membuat contoh pelanggan dan mengendalikan pangkalan data dan koleksi, penyisipan sokongan, pertanyaan, pengagregatan dan operasi lain; Kedua, gunakan perpustakaan predis atau lanjutan phpredis untuk menyambung ke REDIS, lakukan tetapan dan pengambilalihan nilai utama, dan mengesyorkan PHPREDI untuk senario berprestasi tinggi, sementara Predis mudah untuk penempatan pesat; Kedua-duanya sesuai untuk persekitaran pengeluaran dan didokumentasikan dengan baik.

Tostaycurrentwithphpdevelopmentsandbestpractices, followeyNewsssourcesLikePhp.netandphpweekly, engageWithCommunitiesonforumsandconference, keeptoolingupdatedandgraduallyAdoptNewFeatures, dan readribcoursourcourceSource

Phpbecamepopularforwebdevelopmentduetoitseaseoflearning, seamlessintegrationwithhtml, widespreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsLikeWordPress.itexcelsinhandessubmissions

TosetTheRightTimeZoneinPhp, USEDATE_DEFAULT_TIMEZONE_SET () functionAtthestArtAfyourscriptwithavalididentifiersuchas'america/new_york'.1.usedate_default_timeSet ()
