Maison > Article > développement back-end > Comment résoudre le problème de code en double dans les fonctions PHP ?
Vous pouvez utiliser des fonctions et des fermetures pour éliminer la redondance dans votre code en encapsulant le code en double. Les fonctions encapsulent les tâches répétitives dans des unités réutilisables, les fermetures encapsulent le code répétitif et peuvent accéder aux variables de portée en dehors de la fonction. Dans le cas réel, nous encapsulons le code d’envoi répété d’e-mails dans une fonction pour éviter la duplication et la redondance.
Comment éliminer le code en double dans les fonctions PHP ?
Le code en double rend non seulement votre code encombré, mais rend également plus difficile sa maintenance et sa mise à jour. PHP propose plusieurs façons de résoudre le code en double, comme les fonctions et les fermetures.
Réutilisation des fonctions
Une utilisation courante des fonctions consiste à encapsuler des tâches répétitives. Prenons l'exemple suivant où il y a un code répété pour calculer la somme de deux nombres :
function sum($a, $b) { $total = $a + $b; return $total; } $x = sum(1, 2); $y = sum(3, 4);
À l'aide de fonctions, nous pouvons encapsuler le code de calcul répété dans une fonction réutilisable :
function sum($a, $b) { return $a + $b; } $x = sum(1, 2); $y = sum(3, 4);
Fermetures
Les fermetures sont une autre technique puissante pour encapsuler code répétitif. Les fermetures sont des fonctions anonymes qui peuvent accéder aux variables de portée depuis l'extérieur de la fonction. Prenons l'exemple suivant où il y a un code répété pour formater des chaînes :
function formatName($first, $last) { $name = $first . " " . $last; return $name; } $fullName1 = formatName("John", "Doe"); $fullName2 = formatName("Jane", "Smith");
En utilisant des fermetures, nous pouvons encapsuler le code de formatage répété dans une fermeture réutilisable :
$formatName = function($first, $last) { return $first . " " . $last; }; $fullName1 = $formatName("John", "Doe"); $fullName2 = $formatName("Jane", "Smith");
Exemple pratique
Ce qui suit est un exemple pratique de la façon d'encapsuler code répété dans une fonction :
// 重复的代码 function sendEmail($to, $subject, $body) { // 发送电子邮件的代码 } function sendOrderConfirmationEmail($orderInfo) { sendEmail("customer@example.com", "订单确认", "您的订单已确认..."); } function sendShippingNotificationEmail($shippingInfo) { sendEmail("customer@example.com", "发货通知", "您的订单已发货..."); }
En encapsulant le code email d'envoi répété dans une fonction sendEmail
, nous évitons la duplication et la redondance de code :
function sendEmail($to, $subject, $body) { // 发送电子邮件的代码 } function sendOrderConfirmationEmail($orderInfo) { sendEmail("customer@example.com", "订单确认", "您的订单已确认..."); } function sendShippingNotificationEmail($shippingInfo) { sendEmail("customer@example.com", "发货通知", "您的订单已发货..."); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!