Variable global en una función PHP
Variable global en una función PHP. Existen varias formas de pasar variables a una función PHP. Sin embargo, de acuerdo con la mayoría de las reglas de alcance de los lenguajes de programación, puedo acceder a variables que están definidas fuera de las funciones dentro de ellos.
Variable global en una función PHP
A continuación, veremos una serie de ejemplos para pasar variables a una función normal o usando una clase PHP
Ejemplo # 1 Usando global
Es el más clásico declarando la variable haciendo uso de GLOBAL, recordemos que esta variable puede contener varias variables separados con comas.
<?php $a = 1; $b = 2; function Sum() { global $a, $b; $b = $a + $b; } Sum(); echo $b; ?>
Explicación del script anterior
Al declarar $a y $b globales dentro de la función, todas las referencias a tales variables se referirán a la versión global. No hay límite para el número de variables globales que una función puede manipular.
Ejemplo de uso
Aquí tiene que declarar a qué variables globales accederá:
$data = 'My data'; function menugen() { global $data; // <-- agregar esta línea echo "[" . $data . "]"; } menugen();
De lo contrario, puede acceder a él como $GLOBALS['data']
.
Ejemplo # 2 Usando $ GLOBALS en lugar de global
Es otra alternativa para declarar variables dentro de una función. Veamos un ejemplo.
<?php $a = 1; $b = 2; function Sum() { $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b']; } Sum(); echo $b; ?>
Puede realizar una de las siguientes acciones:
<?php $data = 'My data'; function menugen() { global $data; echo "[" . $data . "]"; } menugen();
Otro ejemplo similar
<?php $data = 'My data'; function menugen() { echo "[" . $GLOBALS['data'] . "]"; } menugen();
Dicho esto, el uso excesivo de globales puede generar un código deficiente. Por lo general, es mejor pasar lo que necesita. Por ejemplo, en lugar de hacer referencia a un objeto de base de datos global, debe pasar un identificador a la base de datos y actuar en consecuencia.
A esto se le llama inyección de dependencia. Hace su vida mucho más fácil cuando implementa pruebas automatizadas (lo que debería).
Usando Parámetros para pasar la variable
Es una cuestión de alcance. En resumen, se deben evitar las variables globales. Por lo tanto, es mejor pasarlo como parámetro, Veamos el ejemplo.
$data = 'My data'; function menugen($data) { echo $data; }
Clase PHP para pasar variables
Creamos una clase o tenerlo en una clase y acceder a él rápidamente.
class MyClass { private $data = ""; function menugen() { echo this->data; } }
Conclusión
Usar variables declaradas dentro de una función es relativamente fácil, en este artículo hemos visto varias formas para lograr el propósito deseado.
a) Usando GLOBAL
b) Usando GLOBAL
c) Usando parámetros
d) Usando una clase PHP
La utilización de variables globales dentro de una función es muy requerida cuando realizamos sistemas web, por ejemplo, podemos usarlo para pasar una variable de conexión a MySQL cuando estemos manejando información con base de datos.
Espero que estos ejemplos les ayuden en sus proyectos.