Bolehkah kod dimasukkan ke dalam kelas PHP?
Memasukkan kod terus ke dalam badan kelas tidak boleh dilakukan dalam PHP. Walau bagaimanapun, kaedah boleh disertakan daripada fail luaran di luar badan kelas.
Mengasingkan Logik Perniagaan
Keinginan untuk memisahkan logik perniagaan daripada elemen kelas lain boleh difahami. Walau bagaimanapun, termasuk kaedah daripada fail berasingan melanggar peraturan sintaks PHP.
Kebimbangan Prestasi
Jika Myclass.php disertakan sekali sahaja setiap permintaan, fail luaran Myclass_methods.php juga akan dimasukkan sekali sahaja. Oleh itu, prestasi tidak seharusnya menjadi kebimbangan utama.
Penyelesaian yang Betul: Corak Strategi
Untuk mengubah tingkah laku kelas secara dinamik, Corak Strategi ialah pendekatan yang lebih sesuai daripada memasukkan luaran fail. Ia melibatkan mencipta antara muka dengan kaedah yang ditentukan dan melaksanakan berbilang kelas yang mematuhi antara muka dengan pelaksanaan kaedah yang berbeza.
Pelaksanaan:
// MeowingInterface.php interface MeowingInterface { public function meow(): string; } // RegularMeow.php class RegularMeow implements MeowingInterface { public function meow(): string { return 'meow'; } } // LolcatMeow.php class LolcatMeow implements MeowingInterface { public function meow(): string { return 'lolz xD'; } } // Cat.php class Cat { private MeowingInterface $meowingBehaviour; public function setMeowingBehaviour(MeowingInterface $meowingBehaviour): void { $this->meowingBehaviour = $meowingBehaviour; } public function meow(): string { return $this->meowingBehaviour->meow(); } }
Penggunaan:
// index.php require_once 'MeowingInterface.php'; require_once 'RegularMeow.php'; require_once 'LolcatMeow.php'; require_once 'Cat.php'; $cat = new Cat(); $cat->setMeowingBehaviour(new RegularMeow()); echo $cat->meow(); // Outputs "meow" // Change behaviour $cat->setMeowingBehaviour(new LolcatMeow()); echo $cat->meow(); // Outputs "lolz xD"
Dengan mengikut Corak Strategi, anda boleh menukar tingkah laku dengan mudah kelas tanpa menggunakan amalan tidak lazim seperti memasukkan fail luaran. Pendekatan ini memberikan fleksibiliti dan kebolehselenggaraan kod dalam jangka masa panjang.
Atas ialah kandungan terperinci Bolehkah Kaedah Luaran Disertakan dalam Kelas PHP, dan Apakah Alternatif Terbaik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!