Constantes en PHP OOP: Definición y uso

04-02-2026 | PHP OOP 2 min

Podría decirse que una constante es un valor que no puede cambiar durante la ejecución de nuestro script, o una variable que no varia.

En una clase podemos definit constantes, veamos inmediatamente cómo:

class Application
{
    const VERSION = '1.0.0';
}

Como puedes ver no usamos el símbolo de dólar $. La forma correcta de acceder a una constante es utilizar el operador :: (doble dos puntos), de la siguiente forma:

echo Application::VERSION; // Imprime 1.0.0

Dato curioso, este operador :: es conocido como operador de resolución de ámbito o Paamayim Nekudotayim en hebreo significa directamente "doble dos puntos". De hecho, es común llamarlo simplemente "Paamayim Nekudotayim".

Hay otras formas de acceder a una constante de clase:

  1. Asignando el nombre de la clase a una variable y luego accediendo a la constante:
$app = 'Application';
echo $app::VERSION; // Imprime 1.0.0
  1. Creando una instancia de la clase y accediendo a la constante desde el objeto:
$instance = new Application();
echo $instance::VERSION; // Imprime 1.0.0
  1. Desde dentro de un método de la clase utilizando self::.
class Application
{
    const VERSION = '1.0.0';

    public function getVersion()
    {
        return self::VERSION;
    }
}

$app = new Application();
echo $app->getVersion(); // Imprime 1.0.0
  1. Desde una clase hija utilizando parent::.
class Base
{
    const VERSION = '1.0.0';
}

class Application extends Base
{
    public function getVersion()
    {
        return parent::VERSION;
    }
}

$app = new Application();
echo $app->getVersion(); // Imprime 1.0.0
  1. Desde una clase hija utilizando static::.
class Base
{
    const VERSION = '1.0.0';
}

class Application extends Base
{
    public function getVersion()
    {
        return static::VERSION;
    }
}

$app = new Application();
echo $app->getVersion(); // Imprime 1.0.0

Las constantes pueden tener cualquier visibilidad: public, protected o private. Por defecto, si no se especifica ninguna visibilidad, la constante será public.

class Application
{
    public const PUBLIC_CONSTANT = 'I am public';
    protected const PROTECTED_CONSTANT = 'I am protected';
    private const PRIVATE_CONSTANT = 'I am private';
}

Y se aplica la misma teoría de visibilidad que con las propiedades y métodos de una clase que ya vimos anteriormente. Puedes repasar este artículo sobre Visibilidad en PHP: public, protected y private si tienes dudas al respecto.

Última actualización: 04-02-2026

Tips de Laravel y PHP

Te enviaré únicamente temas profesionales de programación cada domingo.

    Puedes cancelar en cualquier momento.