Agregar constantes en Laravel
En este post voy a explicar la manera recomendada, más fácil y mantenible de agregar o definir nuestras propias constantes en el framework Laravel (será en la versión 5.7 pero debería funcionar bien para otras versiones).
Las constantes son importantes y necesarias en todo sistema, ya que permiten tener un código mejor estructurado y mantenible a largo plazo. Podríamos definir en ellas el IVA, un descuento que se hace a determinado pago, etcétera.
Definir constante en Laravel
Para agregar una constante vamos al directorio config de nuestra app. En él encontraremos algunos archivos como:
- app.php
- auth.php
- broadcasting.php
Junto a esos archivos (es decir, dentro de la carpeta config) creamos un archivo con un nombre que vaya acorde a las constantes, en este caso se llamará constantes.php y hacemos que regrese un arreglo así:
<?php
return [
"clave" => "valor",
"iva" => 16,
"anidado" => [
"clave" => "valor",
"otra_clave" => 4897,
"una_mas" => 5.6
]
];
Es un arreglo o array indexado por claves. Hay que poner nombres no complejos, así como si estuviéramos definiendo una variable.
Como se ve en el ejemplo, se pueden crear más arreglos dentro de cada clave y se podría tener más niveles, pues al final es un arreglo.
Hay que definir todas las constantes que necesitemos. Después de ello es muy simple obtenerlas.
Obtener constante definida previamente
Cuando ya tenemos nuestro archivo de constantes definido, es hora de obtenerlo. Para obtenerlo primero indicamos que usaremos la clase de Illuminate\Support\Facades\Config así:
<?php
use Illuminate\Support\Facades\Config;
Después, llamamos a Config::get("clave")
desde cualquier lugar, y eso devolverá el valor. Por ejemplo:
<?php
use Illuminate\Support\Facades\Config;
$valor = Config::get("clave");
$iva = Config::get("iva");
# También a otros niveles de profundidad
$otra_clave = Config::get("anidado.otra_clave");
Si no hay nada anidado, obtenemos el valor por clave y ya. Si hay algo anidado, usamos el punto para indicar que vamos a acceder a un nivel más abajo de profundidad.
Conclusión
Hablando técnicamente según el lenguaje, estas no son constantes a nivel de PHP sino al nivel de Laravel, pues así podemos obtener un valor constante a través de toda la aplicación.
Recuerda que puedes usarlo en un controlador, modelo o cualquier otro lugar.
Si estás en el proceso de aprender Laravel, te invito a ver más sobre este framework en mi blog.
Gracias por compartir tus conocimientos!
Voy a seguir tus post..
Saludos
Gracias a usted por comentar
Saludos!