Maison >développement back-end >PHP7 >Comment utiliser les fonctions et fermetures anonymes de PHP7 pour obtenir un traitement de logique métier plus flexible et évolutif ?
Comment utiliser les fonctions et fermetures anonymes de PHP7 pour obtenir un traitement de logique métier plus flexible et évolutif ?
Avec la sortie de PHP7, les fonctions anonymes et les fermetures sont devenues des fonctionnalités très importantes et couramment utilisées en PHP. Ils peuvent rendre notre code plus flexible et extensible, ce qui constitue un grand avantage, notamment lorsqu'il s'agit de logique métier. Cet article explique comment utiliser les fonctions anonymes et les fermetures de PHP7 pour obtenir un traitement de logique métier plus flexible et évolutif, et fournit des exemples de code spécifiques.
Voici un exemple de code qui montre comment utiliser une fonction anonyme pour gérer la logique d'une simple vérification de connexion utilisateur :
$users = [ 'admin' => 'password123', 'user' => '123456', ]; function login($username, $password, $callback) { global $users; if (isset($users[$username]) && $users[$username] == $password) { $callback(true); } else { $callback(false); } } $loginCallback = function($success) { if ($success) { echo '登录成功!'; } else { echo '登录失败!'; } }; login('admin', 'password123', $loginCallback);
Dans le code ci-dessus, nous implémentons la vérification de connexion utilisateur en passant une fonction anonyme comme logique de fonction de rappel . Lorsque la connexion réussit ou échoue, différentes opérations sont effectuées en appelant la fonction de rappel. De cette façon, nous pouvons personnaliser différentes fonctions de rappel pour implémenter d'autres opérations en fonction de besoins spécifiques sans modifier l'implémentation de la fonction de connexion.
Ce qui suit est un exemple de code utilisant des fermetures, démontrant comment utiliser les fermetures pour gérer une logique simple de filtrage et de transformation des données :
function processArray($array, $filterFunc, $mapFunc) { $result = array_filter($array, function($value) use ($filterFunc) { return $filterFunc($value); }); $result = array_map(function($value) use ($mapFunc) { return $mapFunc($value); }, $result); return $result; } $data = [1, 2, 3, 4, 5]; $filterFunc = function($value) { return $value % 2 == 0; }; $mapFunc = function($value) { return $value * 2; }; $result = processArray($data, $filterFunc, $mapFunc); print_r($result);
Dans le code ci-dessus, nous implémentons un traitement des données via la fonction de fermeture, utilisez d'abord la fonction array_filter pour filtrez le tableau selon les conditions de $filterFunc, puis utilisez la fonction array_map pour mapper le tableau filtré selon $mapFunc, et enfin renvoyez le résultat traité. En utilisant des fermetures, nous pouvons facilement modifier la logique de $filterFunc et $mapFunc pour répondre à différents besoins de traitement de données.
Résumé :
L'utilisation des fonctions anonymes et des fermetures de PHP7 peut rendre le traitement de notre logique métier plus flexible et évolutif. Nous pouvons définir et utiliser dynamiquement des fonctions via des fonctions anonymes et exploiter des variables dans des portées externes via des fermetures. Ces fonctionnalités nous permettent d'écrire facilement du code flexible en fonction de besoins spécifiques sans avoir besoin de modifier le code original. J'espère que les exemples de code de cet article vous seront utiles et vous permettront de mieux utiliser les fonctions anonymes et les fermetures de PHP7 pour gérer la logique métier.
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!