Matrices constantes en PHP 7

Hay dos tipos de constantes en PHP, las constantes y las constantes de clase. Las constantes se pueden definir prácticamente en cualquier lugar utilizando la construcción de definición, mientras que las constantes de clase se definen dentro de la clase o interfaz individual utilizando la palabra clave const.

Si bien no podemos decir que un tipo de constante es más importante que el otro, PHP 5.6 marcó la diferencia entre los dos al permitir constantes de clase con el tipo de datos de matriz.

Aparte de esa diferencia, ambos tipos de constantes admitían valores escalares (entero, flotante, cadena, booleano o nulo).

El lanzamiento de PHP 7 abordó esta desigualdad al agregar también el tipo de datos de matriz a las constantes, convirtiendo lo siguiente en expresiones válidas:

// The class constant - using 'const' keyword
class Rift {
const APP = [
'name' => 'Rift',
'edition' => 'Community',
'version' => '2.1.2',
'licence' => 'OSL'
];
}

// The class constant - using 'const' keyword
interface IRift {
const APP = [
'name' => 'Rift',
'edition' => 'Community',
'version' => '2.1.2',
'licence' => 'OSL'
];
}

// The constant - using 'define' construct
define('APP', [
'name' => 'Rift',
'edition' => 'Community',
'version' => '2.1.2',
'licence' => 'OSL'
]);

echo Rift::APP['version'];
echo IRift::APP['version'];
echo APP['version'];

Aunque tener constantes con el tipo de datos de matriz podría no ser un tipo de característica interesante, agrega un cierto sabor al uso constante general.

Comparte