La fonction PHP 7.2 create_function() est obsolète
P粉831310404
P粉831310404 2024-01-16 11:05:38
0
2
410

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粉831310404
P粉831310404

répondre à tous(2)
P粉354948724

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粉287726308

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]);
};
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal