Saltar al contenido

Laravel: ¿Dónde almacenar datos y constantes de matrices globales?

Si te encuentras con algo que te causa duda puedes dejarlo en la sección de comentarios y trataremos de ayudarte lo más rápido posible.

Solución:

Para la mayoría de las constantes utilizadas globalmente en la aplicación, basta con almacenarlas en archivos de configuración. tambien es bastante sencillo

Crear un nuevo archivo en el app/config directorio. llamémoslo constants.php

Allí tienes que devolver un array de valores de configuración.

return [
    'langs' => [
        'es' => 'www.domain.es',
        'en' => 'www.domain.us'
        // etc
    ]
];

Y puedes acceder a ellos de la siguiente manera

Config::get('constants.langs');
// or if you want a specific one
Config::get('constants.langs.en');

Y también puedes configurarlos.

Config::set('foo.bar', 'test');

Tenga en cuenta que los valores que establezca no persistirán. Solo están disponibles para la solicitud actual.

Actualizar

La configuración probablemente no sea el lugar adecuado para almacenar información generada a partir de la base de datos. Podrías usar un modelo elocuente como:

class Category extends Eloquent 
    // db table 'categories' will be assumed

Y consultar todas las categorías

Category::all();

Si todo el asunto del modelo por alguna razón no funciona, puede comenzar a pensar en crear su propia clase y una fachada. O simplemente podría crear una clase con todos static variables y métodos y luego usarlo sin las cosas de fachada.

para constantes

Cree el archivo constants.php en el directorio de configuración: –

define('YOUR_DEFINED_CONST', 'Your defined constant value!');

return [

'your-returned-const' => 'Your returned constant value!'

];

Puedes usarlos como: –

echo YOUR_DEFINED_CONST . '
'; echo config('constants.your-returned-const');

Para arreglos estáticos

Cree el archivo static_arrays.php en el directorio de configuración: –

class StaticArray


    public static $langs = [
        'es' => 'www.domain.es',
        'en' => 'www.domain.us',
        'uk' => 'www.domain.uk',
        'br' => 'www.domain.br',
        'it' => 'www.domain.it',
        'de' => 'www.domain.de',
        'fr' => 'www.domain.fr'
    ];


Puedes usarlo como: –

echo StaticArray::$langs['en'];

Nota: Laravel incluye todos los archivos de configuración automáticamente, por lo que no es necesario incluirlos manualmente 🙂

Crear archivo de constantes comunes en Laravel

app/constantes.php

    define('YOUR_CONSTANT_VAR', 'VALUE');

    //EX
    define('COLOR_TWO', 'red');

compositor.json
agregue la ubicación del archivo en la carga automática en composer.json

"autoload": 
    "files": [
        "app/constants.php"
    ]

Antes de que este cambio surta efecto, debe ejecutar el siguiente comando en la Terminal para regenerar los archivos de carga automática de Laravel:

composer dump-autoload

Ten en cuenta dar visibilidad a esta reseña si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *