Anda boleh menggunakan fungsi dan penutupan untuk menghapuskan lebihan dalam kod anda dengan merangkum kod pendua. Fungsi merangkum tugas berulang ke dalam unit boleh guna semula, penutupan merangkum kod berulang dan boleh mengakses pembolehubah skop di luar fungsi. Dalam kes sebenar, kami merangkum kod penghantaran e-mel berulang ke dalam fungsi untuk mengelakkan pertindihan dan redundansi.
Bagaimana untuk menghapuskan kod pendua dalam fungsi PHP?
Kod pendua bukan sahaja menjadikan kod anda kelihatan bersepah, tetapi juga menjadikannya lebih sukar untuk diselenggara dan dikemas kini. PHP menyediakan beberapa cara untuk menyelesaikan kod pendua, seperti fungsi dan penutupan.
Fungsi Guna Semula
Penggunaan fungsi yang biasa adalah untuk merangkum tugasan yang berulang. Pertimbangkan contoh berikut di mana terdapat kod berulang untuk mengira jumlah dua nombor:
function sum($a, $b) { $total = $a + $b; return $total; } $x = sum(1, 2); $y = sum(3, 4);
Menggunakan fungsi, kita boleh merangkum kod pengiraan berulang ke dalam fungsi boleh guna semula:
function sum($a, $b) { return $a + $b; } $x = sum(1, 2); $y = sum(3, 4);
Penutupan
penutupan adalah satu lagi teknik pembungkusan yang berkuasa kod berulang. Penutupan ialah fungsi tanpa nama yang boleh mengakses pembolehubah skop di luar fungsi. Pertimbangkan contoh berikut di mana terdapat kod berulang untuk memformat rentetan:
function formatName($first, $last) { $name = $first . " " . $last; return $name; } $fullName1 = formatName("John", "Doe"); $fullName2 = formatName("Jane", "Smith");
Menggunakan penutupan, kita boleh merangkum kod pemformatan berulang ke dalam penutupan boleh guna semula:
$formatName = function($first, $last) { return $first . " " . $last; }; $fullName1 = $formatName("John", "Doe"); $fullName2 = $formatName("Jane", "Smith");
Contoh praktikal
Berikut ialah contoh praktikal cara merangkum kod berulang ke dalam fungsi:
// 重复的代码 function sendEmail($to, $subject, $body) { // 发送电子邮件的代码 } function sendOrderConfirmationEmail($orderInfo) { sendEmail("customer@example.com", "订单确认", "您的订单已确认..."); } function sendShippingNotificationEmail($shippingInfo) { sendEmail("customer@example.com", "发货通知", "您的订单已发货..."); }
Dengan merangkum kod e-mel penghantaran berulang ke dalam fungsi sendEmail
, kami mengelakkan pertindihan dan redundansi kod:
function sendEmail($to, $subject, $body) { // 发送电子邮件的代码 } function sendOrderConfirmationEmail($orderInfo) { sendEmail("customer@example.com", "订单确认", "您的订单已确认..."); } function sendShippingNotificationEmail($shippingInfo) { sendEmail("customer@example.com", "发货通知", "您的订单已发货..."); }
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah kod pendua dalam fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!