EspañolDeutschFrançaisItalianoPortuguêsРусскийΕλληνικά日本語中文(简体)हिन्दी; हिंदीالعربية
PF Preguntas - Foro

Cómo pasar parámetros, o variables, a funciones anónimas en PHP

Programación PHP  
 
Cómo pasar parámetros, o variables, a funciones anónimas en PHP

Programando con PHP puede que, en alguna ocasión, hayas tenido que hacer uso de funciones anónimas. Las funciones anónimas son funciones que se declaran en el propio flujo del código que estemos desarrollando y que suponemos que son funciones que vamos a usar solamente en ese lugar, de ahí que no las creemos aparte y las reutilicemos.

Normalmente, estas funciones se usan como recepción de callbacks de otras funciones o eventos, y en ellas se codifica el tratamiento que dicha llamada de retorno o evento debe tener. De esta forma, puedes realizar un desarrollo o programación orientada a eventos, más típica de otros lenguajes como Javascript.

Si alguna vez has programado en Javascript, cuando realizas, por ejemplo, una llamada a la función setTimeout, uno de los parámetros que ésta tiene es un callback a la función que quieres que se ejecute cuando se produzca el evento.

Igualmente, en PHP hay momentos en los que es oportuno utilizar callbacks como parámetros de funciones. A continuación vamos a ver el posible uso de una función anónima en PHP. Vamos a suponer que tenemos una función en la que uno de sus parámetros es un callback:

en el parámetro $callback, podríamos directamente meter el nombre de la función que queramos que se ejecute y que tengamos previamente definida, o bien, directamente una función anónima. Vamos a ver las dos formas:

 

Cómo pasar parámetros o variables a funciones anónimas

 

Cuando usamos funciones anónimas, dentro del código de éstas, no tenemos acceso a las variables u objetos que previamente tengamos definidos en el flujo del código, por lo que, si necesitamos referenciar a alguna de ellas, o bien la hacemos global, o bien damos acceso a las mismas, tal como veremos a continuación:

Supongamos el ejemplo anterior con algún código previo añadido:

Desde dentro de la función anónima no tenemos acceso a la variable $aux definida previamente. Para poder usar dicha variable, tendremos que hacerlo de la siguiente forma:

Añadiendo, tras el identificador de función function(), la palabra use seguida, entre paréntesis, de la variable a la que queremos acceder, estamos permitiendo que desde dentro de la función anónima tengamos acceso a dicha variable, lo que nos evitará tener que declarar variables globales y declaraciones de uso posteriores dentro de la función.

Déjanos un comentario o entra al  Foro
Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page