Maison > Questions et réponses > le corps du texte
J'ai utilisé create_function()
dans l'application ci-dessous.
$callbacks[$delimiter] = create_function('$matches', "return '$delimiter' . strtolower($matches[1]);");
Mais depuis PHP 7.2.0, create_function()
est obsolète.
Comment réécrire le code ci-dessus pour PHP 7.2.0 ?
P粉3549487242024-01-17 10:01:58
Je voudrais contribuer à un cas très simple que j'ai trouvé dans un thème WordPress et qui semble bien fonctionner :
Comprend la déclaration add_filter suivante :
add_filter( 'option_page_capability_' . ot_options_id(), create_function( '$caps', "return '$caps';" ), 999 );
Remplacez-le par :
add_filter( 'option_page_capability_' . ot_options_id(), function($caps) {return $caps;},999);
Nous pouvons voir l'utilisation de function(), qui est une création de fonction très typique, au lieu d'utiliser le create_function() obsolète pour créer des fonctions.
P粉2877263082024-01-17 00:49:46
Vous devriez pouvoir utiliser des appels de fonctions anonymes (alias fermetures) à la portée parent $delimiter
des variables comme celle-ci :
$callbacks[$delimiter] = function($matches) use ($delimiter) { return $delimiter . strtolower($matches[1]); };