38 votes

PHP 7.2 Fonction create-function() est dépréciée

J'ai utilisé la fonction de création dans mon application ci-dessous.

Mais pour PHP 7.2.0, la fonction de création() est dépréciée.

Toute idée, comment fixer mes codes ci-dessus sur PHP 7.2.0.

Merci pour votre aide,

56voto

e_i_pi Points 2216

Vous devriez être en mesure d'utiliser une fonction anonyme (aka Fermeture) avec un appel à la variable parent `` portée, comme si:

34voto

Joanmacat Points 540

Je voudrais contribuer avec un cas très simple que j'ai trouvé dans un thème Wordpress et semble fonctionner correctement:

Avoir l'instruction suivante de l'add-filter :

Remplacez-le pour :

Nous pouvons voir l'utilisation de la fonction(), création de fonction très typique au lieu d'une fonction de création dépréciée() pour créer des fonctions. J'espère que ça aidera.

1voto

Tomáš Votruba Points 78

Si quelqu'un a besoin de mise à niveau de plusieurs dizaines de create_function() des cas dans leur code pour les fonctions anonymes, je travaille sur un outil appelé Recteur.

Il va dans le code et remplace l' create_function avec des fonctions anonymes 1:1. Il est testé sur 30 différents cas.

Installer

composer require rector/rector --dev

Le programme d'installation

# rector.yml
services:
    Rector\Php\Rector\FuncCall\CreateFunctionToAnonymousFunctionRector: ~

Exécuter sur votre code

vendor/bin/rector process src --config rector.yml --dry-run
vendor/bin/rector process src --config rector.yml

0voto

White Rabbit Points 142

Ce Array of Anonymous fonctions travaillé pour moi, voir le code ci-dessous:

Il suffit de copier cela dans votre fichier de script et vous verrez la sortie des `` instructions, puis il suffit de remap la fonction à votre propre volonté!

Codage heureux)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X