global PHP var

Variables globales en PHP: alcance y alternativas explícitas

Entiende global y $GLOBALS con un contador pequeño y sustituye dependencias ocultas por parámetros.

Tipo: Guía práctica Lectura: 3 min Actualizado: 2026-11-03
Ejemplo visual para Variables globales en PHP: alcance, riesgos y alternativas

Guía y comprobaciones

Una función tiene su propio alcance

Una variable creada fuera de una función no pasa automáticamente a su interior. global $contador enlaza el nombre local con la variable global del mismo nombre. No crea una copia independiente. Esto puede servir al mantener código existente, pero hace más difícil saber qué cambia al llamar a una función.

$contador = 0;
function registrarVisita(): void {
    global $contador;
    $contador++;
}
registrarVisita();
registrarVisita();
echo $contador, PHP_EOL; // 2

Pasar lo necesario

Cuando la operación sólo necesita un valor, una función que recibe y devuelve ese valor es más fácil de reutilizar. El resultado no depende de que otro archivo haya inicializado una variable con el mismo nombre.

function incrementar(int $actual, int $paso = 1): int {
    return $actual + $paso;
}
$contador = incrementar(0, 2);
echo $contador, PHP_EOL; // 2

Si varias operaciones comparten un estado complejo, un objeto puede agruparlo. No hace falta convertir cada variable en una clase: empieza por identificar quién la escribe y quién la lee. Una constante sirve para una configuración realmente fija, no para reemplazar un contador que cambia.

Qué aporta $GLOBALS

$GLOBALS['contador'] permite acceder al espacio global por clave desde la función. No lo confundas con una variable de sesión ni con un almacenamiento compartido entre solicitudes. En un sitio PHP habitual, un contador global no conserva visitas tras terminar la petición. Para ese fin necesitas un almacenamiento adecuado y operaciones concurrentes seguras.

Al depurar, busca las asignaciones además de las lecturas. Una función puede devolver el resultado correcto y dejar un estado global que afecte a la siguiente llamada. Prueba dos llamadas consecutivas y dos contadores separados: si no puedes aislarlos, la dependencia global forma parte del diseño y conviene hacerla explícita.

Preguntas frecuentes

¿global hace persistente una variable?

No. Cambia su alcance dentro de la ejecución actual; no equivale a guardar un dato en una base de datos o una sesión.

¿Debo usar global para la conexión PDO?

Puedes mantenerlo en código antiguo, pero pasar la conexión a la función u objeto hace visible esa dependencia y facilita probarla.

Documentación oficial

Fuentes consultadas

Fuentes y referencias

Consulta referencias útiles para ampliar o contrastar esta guía.

R

Autora de la guia

Redacción de Línea de Código

Publicación independiente de programación y trámites digitales

Guías con ejemplos y referencias oficiales para aprender programación y preparar gestiones digitales. Las solicitudes se completan en el organismo responsable.

Actualizado: 2026-11-03 Politica editorial Correcciones

Por que confiar

Contrastamos fuentes oficiales, actualizamos piezas clave y priorizamos estructura, contexto y enlazado interno por encima del relleno.

Compartir

Guarda o comparte esta guia con el enlace limpio.