Rumah >pembangunan bahagian belakang >tutorial php >Bolehkah Kelas PHP Termasuk Kod Secara Terus, dan Apakah Alternatif Yang Lebih Baik?
Bolehkah Anda Memasukkan Kod Dalam Kelas PHP?
Takrif kelas PHP memerlukan sintaks tertentu, dan memasukkan kod terus ke dalam badan kelas tidak dibenarkan. Memasukkan fail dalam definisi kelas dibenarkan, tetapi hanya di luar badan kelas atau dalam badan kaedah.
Memisahkan Gelagat Kelas
Untuk memisahkan definisi kelas daripada gelagatnya, anda boleh menggunakan pendekatan yang tidak konvensional:
class MyClass { // Class definition public function __construct() { // Include methods from external file include('Myclass_methods.php'); } }
Perhatikan bahawa pendekatan ini termasuk kaedah dalam skop kaedah, bukan skop kelas itu sendiri.
Batasan Penyertaan Fail
Pemasukan langsung kaedah dalam badan kelas adalah dilarang. Menampal kelas secara dinamik untuk menukar gelagatnya menggunakan termasuk juga bukan amalan yang disyorkan.
Antara Muka dan Corak Strategi
Penyelesaian yang lebih baik untuk mengubah suai gelagat kelas secara dinamik ialah menggunakan antara muka dan melaksanakan corak Strategi. Tentukan antara muka untuk gelagat biasa, laksanakan strategi Meowing yang berbeza dan kemudian benarkan kelas anda bertukar antara strategi ini:
interface Meowing { public function meow(); } class RegularMeow implements Meowing { public function meow() { return 'meow'; } } class LolkatMeow implements Meowing { public function meow() { return 'lolz xD'; } } class Cat { private Meowing $meowing; public function setMeowing(Meowing $meowing) { $this->meowing = $meowing; } public function meow() { return $this->meowing->meow(); } }
Pendekatan ini membolehkan anda mengubah gelagat kelas anda secara dinamik dengan menukar strategi Meowing yang dilaksanakan .
Atas ialah kandungan terperinci Bolehkah Kelas PHP Termasuk Kod Secara Terus, dan Apakah Alternatif Yang Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!