Maison > développement back-end > tutoriel php > Comment résoudre le problème de code en double dans les fonctions PHP ?

Comment résoudre le problème de code en double dans les fonctions PHP ?

WBOY
Libérer: 2024-05-01 10:27:01
original
825 Les gens l'ont consulté

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.

如何解决 PHP 函数中重复代码的问题?

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);
Copier après la connexion

À 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);
Copier après la connexion

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");
Copier après la connexion

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");
Copier après la connexion

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", "发货通知", "您的订单已发货...");
}
Copier après la connexion

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", "发货通知", "您的订单已发货...");
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal