Variables y Constantes en PHP: Uso y Diferencias Básicas

Clase 11 de 23Curso Básico de PHP: Instalación, Fundamentos y Operadores

Contenido del curso

Resumen

Entender la diferencia entre variables y constantes es uno de los primeros pasos para programar en cualquier lenguaje. En PHP, ambas tienen reglas específicas de sintaxis y comportamiento que conviene dominar desde el inicio para escribir código limpio y sin errores.

¿Qué es una variable en PHP y cómo funciona?

Una variable es como una cajita con nombre donde puedes guardar cualquier valor [0:20]. Imagina una cajita llamada edad que contiene el número dieciocho. Cada vez que "abras" esa cajita, encontrarás ese valor. Lo interesante es que puedes sacar ese valor y reemplazarlo por otro cuando lo necesites; por ejemplo, cambiar el dieciocho por un veintidós [1:00]. Esa flexibilidad es lo que hace que se llame variable: su contenido puede variar.

En PHP, toda variable comienza obligatoriamente con el signo de dólar ($) [2:38]. Este símbolo no es decorativo; le indica al intérprete de PHP que lo que viene a continuación es el nombre de una variable. Después del signo de dólar va el nombre, y luego la asignación con el operador =, que simplemente dice: "guárdame este valor dentro de la cajita" [3:10].

¿Cómo se declaran y usan variables en código?

Al crear un archivo llamado variables.php, recuerda siempre abrir con la etiqueta <?php. A partir de ahí puedes declarar variables libremente [3:48]:

php

<?php $numero_1 = 8; $numero_2 = 100; echo $numero_1 + $numero_2 . "\n"; Cuando PHP encuentra `$numero_1`, abre la cajita, extrae el valor **8** y opera con él. Lo mismo ocurre con `$numero_2`. El resultado se imprime en la terminal [5:00]. ### ¿Por qué importa nombrar bien las variables? Un detalle fundamental es la **nomenclatura**. Si tu variable se llama `$numero_1`, lo lógico es que contenga un número. Guardar un *string* como `"Carlos"` dentro de una variable llamada `$numero_1` es válido para PHP, pero **confuso para cualquier persona** que lea el código [4:18]. Nombrar correctamente tus variables evita errores de lógica y facilita el mantenimiento. ## ¿Qué es una constante y en qué se diferencia de una variable? Una **constante** sigue la misma analogía de la cajita, pero con una diferencia crucial: una vez que guardas un valor, la cajita queda **sellada para siempre** [1:18]. No puedes abrirla, sacar el contenido ni reemplazarlo. Solo puedes consultar lo que hay dentro. El ejemplo clásico es el número **pi**. Su valor es 3.14 (y lo que sigue), y no tiene sentido que cambie en ningún momento de tu programa [1:50]. Para definir una constante en PHP se usa la función `define()` [5:28]: php <?php define("NUMERO_PI", 3.14); echo NUMERO_PI . "\n"; - Las constantes **no usan signo de dólar**; se escriben tal cual se definieron [6:18]. - Como buena práctica, los nombres deben ir en **mayúsculas** [5:48]. - Primero se define la constante y luego se utiliza. ### ¿Qué sucede si intentas cambiar una constante? Si intentas asignar un nuevo valor a una constante ya definida, PHP lanza un **error de sintaxis** o una advertencia indicando que esa constante ya existe [7:02]. Incluso si PHP es lo suficientemente permisivo para seguir ejecutando el resto del código, **el valor original se mantiene intacto** y nunca se sobrescribe [7:40]. php <?php define("NUMERO_PI", 3.14); define("NUMERO_PI", 14); // Warning: Constant NUMERO_PI already defined echo NUMERO_PI; // Imprime 3.14 Este comportamiento refuerza la regla: si necesitas que un valor **cambie** durante la ejecución, usa una variable. Si el valor debe **permanecer fijo**, usa una constante [8:24]. ## ¿Cuándo usar cada una en tus proyectos? La elección es sencilla: - **Variables**: para datos que se transforman, como la edad de un usuario, un contador o el resultado de una operación. - **Constantes**: para valores universales e inmutables, como pi, configuraciones de la aplicación o claves que no deben alterarse. Estos conceptos son las **bases de cualquier lenguaje de programación** [8:50]. Dominarlos en PHP te prepara para estructuras más complejas que verás en clases posteriores. Si te quedó alguna duda sobre la diferencia entre ambas, compártela en los comentarios.