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.