Bienvenidos sean a este post, hoy veremos una funcion de PHP.
Esta funcion nos informa el valor de una constante, en caso de no estar definida como tal o ser inexistente nos devolvera un valor null pero a partir de la version 8 devuelve un error. Veamos su sintaxis:
constant(nombre);
Simplemente pasamos el nombre de la constante y en caso de estar definida en el codigo nos devolvera el valor. Para entender el concepto vamos a analizar el siguiente ejemplo:
<?php
define("MAXIMO", 100);
class clase {
const MAXIMO = 150;
}
try
{
echo constant("MAXIMO") ."\n";
echo constant("clase::MAXIMO") . "\n";
echo constant("MAX") . "\n";
}
catch (Throwable $t) {
echo "constante inexistente.\n";
}
?>
Primero definimos una constante llamado MAXIMO mediante define y le establecemos un valor. Luego definimos una clase donde tendra una constante con el mismo nombre que el anterior pero con otro valor. Lo siguiente sera utilizar a la funcion tres veces pero como dijimos a la falta de una constante o pasar una no definida como tal nos devuelve un error (a partir de la version 8 como mencionamos anteriormente). Por esta razon, usamos un try/catch para poder capturar el error. En el bloque try usaremos a echo para mostrar la salida de constant. Primero pasaremos a la constante MAXIMO, la siguiente sera pasar a la constante de la clase y para ello pasamos a la clase junto con el operador de resolucion y la constante. Para finalmente, usarla en una constante inexistente. El catch lo usaremos para mostrar el mensaje de constante inexistente. Ejecutemos para ver como es la salida:
$ php const.php
100
150
constante inexistente.
$
Si no estuviera este try nos interrumpiria la ejecucion del codigo, a pesar de que la documentacion dice que no, porque devuelve un error fatal y se detiene en la linea del error. Pero lo repito, esta es una conducta a partir de la version 8, en versiones anteriores su conducta es distinta.
En resumen, hoy hemos visto a constant, que es, para que sirve, como se utiliza, y un ejemplo practico para poder verlo en accion. Espero les haya resultado de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donatión
It’s for site maintenance, thanks!
$1.50
