Maison >développement back-end >tutoriel php >Comment puis-je remplacer le « create_function() » obsolète de PHP dans PHP 7.2 et versions ultérieures ?
PHP 7.2 déprécie create_function() : un examen plus approfondi
Dans PHP 7.2, la création dynamique de fonctions via create_function( ) la fonction est obsolète. Cela pose un défi aux développeurs qui se sont appuyés sur cette fonctionnalité dans leurs applications. Pour résoudre ce problème, explorons une solution qui offre une alternative moderne et compatible.
Considérez l'extrait de code suivant :
$callbacks[$delimiter] = create_function( '$matches', "return '$delimiter' . strtolower($matches[1]);" );
Ici, create_function() crée dynamiquement une fonction basée sur la chaîne fournie. Cependant, dans PHP 7.2 et versions ultérieures, cette approche n'est plus recommandée.
L'alternative : fonctions anonymes (fermetures)
Pour réécrire le code pour la compatibilité PHP 7.2, vous pouvez utiliser des fonctions anonymes, également appelées fermetures. Les fermetures sont des fonctions anonymes qui peuvent être définies et utilisées dans votre code. Ils vous permettent d'accéder aux variables de la portée parent, ce qui les rend idéales pour la tâche à accomplir.
Le code suivant montre comment réécrire l'extrait d'origine à l'aide d'une fermeture :
$callbacks[$delimiter] = function($matches) use ($delimiter) { return $delimiter . strtolower($matches[1]); };
Dans this Closure:
Par en utilisant des fonctions anonymes, vous pouvez facilement migrer votre code vers PHP 7.2 et au-delà, en conservant les fonctionnalités fournies par create_function() tout en adhérant aux derniers standards PHP.
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!