reconocido número error create_function create php

número - php function create_function() is deprecated



La función PHP 7.2 create_function() está en desuso (4)

Debería poder usar una función anónima (también conocida como cierre) con una llamada a la variable $delimiter , de esta manera:

$callbacks[$delimiter] = function($matches) use ($delimiter) { return $delimiter . strtolower($matches[1]); };

He usado create_function en mi aplicación a continuación.

$callbacks[$delimiter] = create_function(''$matches'', "return ''$delimiter'' . strtolower(/$matches[1]);");

Pero para PHP 7.2.0, la función create_function () está en desuso.

Alguna idea, cómo arreglar mis códigos anteriores en PHP 7.2.0.

Gracias por tu ayuda,


Esta matriz de funciones anónimas funcionó para mí, vea el código a continuación:

// This will be a dynamic name that could // be used as a function like "namespace". $dynamic_name = ''my_dynamic_name''; // Here''s some variables that you could use in the scope of // your dynamic anonymous functions. $outerVariable = ''If I need this varible, I can use it''; $outerVariableTwo = ''If I need this varible, I can use it too!''; // Create an array that we can later use and turn into // and associative array with our new dynamic anonymous functions. $dynamicAnonFunctions = []; // Create the first dynamic function. $dynamicAnonFunctions[($dynamic_name."_func_one")] = function () use ($outerVariable, $dynamic_name) { echo ''Running: function <b>''.$dynamic_name .''_func_one()</b>''; echo ''<br><br>''; echo $outerVariable; echo ''<br><br>''; echo ''This works :)''; echo ''<br><br>''; }; // Create the second dynamic function $dynamicAnonFunctions[($dynamic_name."_func_two")] = function () use ($outerVariableTwo, $dynamic_name) { echo ''- - - - - - - - - - - - - - - - - - - ''; echo ''<br><br>''; echo ''Running: function <b>''.$dynamic_name .''_func_two()</b>''; echo ''<br><br>''; echo $outerVariableTwo; echo ''<br><br>''; echo ''This also works :)!''; echo ''<br><br>''; }; // Call the functions. $dynamicAnonFunctions[($dynamic_name."_func_one")](); $dynamicAnonFunctions[($dynamic_name."_func_two")](); // Halt execution. exit();

Simplemente copie esto en su archivo de script y verá el resultado de las declaraciones de echo , luego simplemente reasigne la función a su voluntad.

Codificación feliz =)


Me gustaría contribuir con un caso muy simple que encontré en un tema de Wordpress y parece funcionar correctamente:

Tener la siguiente instrucción add_filter :

add_filter( ''option_page_capability_'' . ot_options_id(), create_function( ''$caps'', "return ''$caps'';" ), 999 );

Reemplácelo por:

add_filter( ''option_page_capability_'' . ot_options_id(), function($caps) {return $caps;},999);

Podemos ver el uso de function (), creación de funciones muy típica en lugar de una función create_function () obsoleta para crear funciones. Espero eso ayude.


Si alguien necesita actualizar docenas de casos create_function() en su código a funciones anónimas, trabajo en una herramienta llamada Rector .

Revisa el código y reemplaza la función create_function con funciones anónimas 1: 1. Se probó en 30 casos diferentes .

Instalar

composer require rector/rector --dev

Preparar

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

Ejecuta tu código

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