Rumah > Artikel > pembangunan bahagian belakang > Bolehkah PHP Mengganti Fungsi Seperti dalam Bahasa Lain?
Persoalannya berkisar sama ada fungsi seperti "ihatefooeexamples()" boleh diisytiharkan, kemudian "diisytiharkan semula" dalam blok keadaan-jika . Pada asasnya, tujuannya adalah untuk menulis ganti gelagat fungsi.
Malangnya, jawapan kepada pertanyaan khusus ini ialah "tidak." PHP tidak menyokong penggantian fungsi mengikut cara yang dicadangkan oleh soalan.
Walau bagaimanapun, PHP menyediakan mekanisme berkuasa yang dikenali sebagai polimorfisme melalui Pengaturcaraan Berorientasikan Objek (OOP) untuk mencapai fungsi yang sama. Pertimbangkan kod berikut:
interface Fooable { public function ihatefooexamples(); } class Foo implements Fooable { public function ihatefooexamples() { return "boo-foo!"; } } class FooBar implements Fooable { public function ihatefooexamples() { return "really boo-foo"; } } $foo = new Foo(); if (10 == $_GET['foolevel']) { $foo = new FooBar(); } echo $foo->ihatefooexamples();
Dalam kod ini:
Teknik ini membolehkan kami mengubah tingkah laku kaedah seperti fungsi secara dinamik dengan menukar antara pelaksanaan yang berbeza pada masa jalan, dengan berkesan mencapai kesan yang serupa dengan menulis ganti fungsi.
Atas ialah kandungan terperinci Bolehkah PHP Mengganti Fungsi Seperti dalam Bahasa Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!