микрозаймы онлайн займы на карту займы по паспорту

Arquivos de configuração no Laravel 6

Como sabemos, o Laravel tem uma pasta dentro de Application chamada config. Dentro dela há vários arquivos de configuração. Nós também podemos criar nosso próprio arquivo de configuração.

Para fazer isso, simplesmente crie um arquivo com o nome que você quiser dentro da pasta config, por exemplo: facebook.php

<?php

// application/config/facebook.php

return array(
    'id' => '123456789',
    'secret' => 'fbb123456123fb123'
);

Se quiser pode seguir as convenções do Laravel nos comentários e deixar o seu arquivo um pouco mais descritivo.

<?php

// application/config/facebook.php

return array(

    /*
    |-------------------------------------------
    | App ID
    |-------------------------------------------
    |
    | App ID da aplicação
    |
    */

    'id' => '123456789',

      /*
    |-------------------------------------------
    | App Secret
    |-------------------------------------------
    |
    | App Secret da aplicação
    |
    */

    'secret' => 'fbb123456123fb123'
);

Nesse arquivo de configuração, você não está limitado apenas a valores simples, eles podem ser por exemplo, um outro array, uma closure, um objeto, ou mesmo algo num banco de dados. Vou usar um exemplo simples, apenas para ilustrar as possibilidades.

<?php

return array(
   'user_name' => function() {
       return User::find(1)->name;
   },
);

Para você buscar as informações que estão nesse arquivo de configuração, é mais simples do que criar:

    // onde facebook é o arquivo de configuração
    // e id é a chave do arquivo
    $app_id = Config::get('facebook.id');

Se o seu arquivo de configuração estiver dentro de uma subpasta, basta especificar antes:

    // onde apis é uma pasta dentro de config
    $app_id = Config::get('apis.facebook.id');

Mas e para buscar todo o arquivo de configuração?

    $facebook = Config::get('facebook');

Mas e se eu quiser setar algo no arquivo de configuração em tempo de execução? Basta usar a função Config::set().

    Config::set('facebook.id', '987654321');

Lembrando que essa configuração será em tempo de execução somente, ou seja, ela não alterará o arquivo em si, somente na hora da execução. A função set() também faz suas mágicas, caso você use com uma chave que não existe, ela criará pra você!

A classe Config não se limita apenas aos seus arquivos de configuração, todos os arquivos que estiverem dentro dessa pasta podem ser acessíveis via Config::get(). Basta especificar o nome do arquivo e a chave, por exemplo:

    $language = Config::get('application.language');

Bom, é isso aí pessoal, se tiverem alguma dúvida, podem postar aqui nos comentários, também estamos no Facebook, G+ e Google Groups.

Até a próxima!

  • http://www.facebook.com/felipo.antonoff Felipo Antonoff Araújo

    Bem legal a dica, sabia da configuração padrão do Laravel, mas não que dava para usar dessa forma. Acho interessante para configurações, no qual não temos um formulário e queremos centralizar as configurações.

  • Luiz Vinicius Reis Nascimento

    Bem esclarecedor.

  • julio

    Cara, show

  • http://www.facebook.com/matheusdalpizzol Matheus Dal’Pizzol

    Muito bom! Só uma dúvida… Existe a possibilidade de ter um arquivo de configurações fora da pasta config, por exemplo no diretório root de um bundle?

    • http://brayanrastelli.com/ Brayan Rastelli

      Dá sim:

      Config::get(‘nomedobundle::arquivo.opcao’);

      http://laravel.com/docs/bundles

      • http://www.facebook.com/matheusdalpizzol Matheus Dal’Pizzol

        Opa! Valeu Bryan! Mas isso eu já tinha conseguido… minha dúvida era se podia colocar na raiz mesmo… Thanx anyway… =)