Mengatasi Had Penentuan Semula Fungsi PHP
Dalam PHP, mentakrifkan fungsi dengan nama yang sama berbilang kali adalah tidak-tidak. Percubaan untuk berbuat demikian, seperti yang dilihat dalam coretan kod yang disediakan, akan mengakibatkan ralat "Tidak boleh mengisytiharkan semula" yang ditakuti.
fungsikan ini($a){
pulangkan $a ;
}
// Ralat: "Tidak boleh mengisytiharkan semula foo()"
fungsikan ini($a, $b){
kembalikan $a * $b;
}
Walau bagaimanapun, terdapat permata tersembunyi dalam tali pinggang alat PHP: sambungan runkit. Ia memberi anda fleksibiliti untuk mentakrifkan semula fungsi secara dinamik.
runkit_function_rename()
Jika anda hanya mahu menukar nama fungsi, anda boleh menggunakan runkit_function_rename():
<code class="php">// Rename 'this' to 'that' runkit_function_rename('this', 'that');</code>
runkit_function_redefine()
Untuk definisi semula yang lebih menyeluruh, runkit_function_redefine() datang untuk menyelamatkan. Ia membolehkan anda mengubah suai keseluruhan badan fungsi.
<code class="php">// Redefine 'this' to return 'New and Improved' runkit_function_redefine('this', 'return "New and Improved";');</code>
Jadi, sementara PHP secara asli menentang definisi semula fungsi, runkit membuka kemungkinan tanpa had, membolehkan anda membentuk fungsi anda mengikut kehendak anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengatasi Sekatan Definisi Semula Fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!