> LOADING ARTICLE...
28 Jul 2025 Desenvolvimento

Configuração

Configuração

Laravel Docs em Português

Introdução

Todos os arquivos de configuração do framework Laravel são armazenados no config diretório. Cada opção está documentada, portanto, fique à vontade para examinar os arquivos e se familiarizar com as opções disponíveis.

Esses arquivos de configuração permitem configurar coisas como as informações de conexão do banco de dados, as informações do servidor de e-mail, bem como vários outros valores de configuração básicos, como o fuso horário do aplicativo e a chave de criptografia.

Configuração de Ambiente

Muitas vezes é útil ter valores de configuração diferentes com base no ambiente em que o aplicativo está sendo executado. Por exemplo, você pode desejar usar um driver de cache diferente localmente do que você usa em seu servidor de produção.

Para tornar isso mais fácil, o Laravel utiliza a biblioteca DotEnv PHP. Em uma nova instalação do Laravel, o diretório raiz de seu aplicativo conterá um .env.example arquivo que define muitas variáveis ​​de ambiente comuns. Durante o processo de instalação do Laravel, este arquivo será copiado automaticamente para .env.

.envarquivo padrão do Laravel contém alguns valores de configuração comuns que podem diferir dependendo se sua aplicação está rodando localmente ou em um servidor web de produção. Esses valores são então recuperados de vários arquivos de configuração do Laravel dentro do config diretório usando a função env do Laravel .

Se você estiver desenvolvendo com uma equipe, talvez queira continuar incluindo um .env.example arquivo com seu aplicativo. Colocando valores de espaço reservado no arquivo de configuração de exemplo, outros desenvolvedores de sua equipe podem ver claramente quais variáveis ​​de ambiente são necessárias para executar seu aplicativo.

Qualquer variável em seu .envarquivo pode ser substituída por variáveis ​​de ambiente externas, como variáveis ​​de ambiente de nível de servidor ou de sistema.

Segurança de arquivos do ambiente

Seu .envarquivo não deve ser comprometido com o controle de origem de seu aplicativo, uma vez que cada desenvolvedor / servidor usando seu aplicativo pode exigir uma configuração de ambiente diferente. Além disso, isso seria um risco de segurança no caso de um invasor obter acesso ao repositório de controle de origem, uma vez que quaisquer credenciais confidenciais seriam expostas.

Tipos de Variáveis ​​de Ambiente

Todas as variáveis ​​em seus .env arquivos são normalmente analisadas como strings, então alguns valores reservados foram criados para permitir que você retorne uma gama mais ampla de tipos da env()função:

.env Valorenv() Valor
verdade(bool) verdadeiro
(verdade)(bool) verdadeiro
falso(bool) falso
(falso)(bool) falso
vazio(fragmento) ”
(vazio)(fragmento) ”
nulo(nulo nulo
(nulo)(nulo nulo

Se precisar definir uma variável de ambiente com um valor que contenha espaços, você pode fazer isso colocando o valor entre aspas duplas:

APP_NAME="My Application"

Recuperando a configuração do ambiente

Todas as variáveis ​​listadas neste arquivo serão carregadas no $_ENVsuperglobal do PHP quando seu aplicativo receber uma solicitação. No entanto, você pode usar o envauxiliar para recuperar valores dessas variáveis ​​em seus arquivos de configuração. Na verdade, se você revisar os arquivos de configuração do Laravel, notará que muitas das opções já estão usando este auxiliar:

'debug' => env('APP_DEBUG', false),

O segundo valor passado para a envfunção é o “valor padrão”. Este valor será retornado se nenhuma variável de ambiente existir para a chave fornecida.

Determinando o ambiente atual

O ambiente do aplicativo atual é determinado por meio da APP_ENVvariável de seu .envarquivo. Você pode acessar esse valor por meio do environmentmétodo na App fachada :

use Illuminate\Support\Facades\App;

$environment = App::environment();

Você também pode passar argumentos para o environmentmétodo para determinar se o ambiente corresponde a um determinado valor. O método retornará truese o ambiente corresponder a qualquer um dos valores fornecidos:

if (App::environment('local')) {
    // The environment is local
}

if (App::environment(['local', 'staging'])) {
    // The environment is either local OR staging...
}

A detecção do ambiente de aplicativo atual pode ser substituída pela definição de uma APP_ENVvariável de ambiente no nível do servidor .

Acessando Valores de Configuração

Você pode acessar facilmente seus valores de configuração usando a configfunção auxiliar global de qualquer lugar em seu aplicativo. Os valores de configuração podem ser acessados ​​através da sintaxe de “ponto”, que inclui o nome do arquivo e a opção que você deseja acessar. Um valor padrão também pode ser especificado e será retornado se a opção de configuração não existir:

$value = config('app.timezone');

// Retrieve a default value if the configuration value does not exist...
$value = config('app.timezone', 'Asia/Seoul');

Para definir valores de configuração em tempo de execução, passe uma matriz para o configauxiliar:

config(['app.timezone' => 'America/Chicago']);

Cache de configuração

Para aumentar a velocidade do seu aplicativo, você deve armazenar em cache todos os seus arquivos de configuração em um único arquivo usando o config:cachecomando Artisan. Isso combinará todas as opções de configuração de seu aplicativo em um único arquivo que pode ser carregado rapidamente pela estrutura.

Normalmente, você deve executar o php artisan config:cachecomando como parte do processo de implantação de produção. O comando não deve ser executado durante o desenvolvimento local, pois as opções de configuração frequentemente precisarão ser alteradas durante o desenvolvimento de seu aplicativo.

Se você executar o config:cachecomando durante o processo de implantação, certifique-se de que está apenas chamando a envfunção de dentro dos arquivos de configuração. Depois que a configuração for armazenada em cache, o .envarquivo não será carregado; portanto, a envfunção retornará apenas variáveis ​​de ambiente externas no nível do sistema.

Modo de depuração

debugopção em seu config/app.phparquivo de configuração determina quantas informações sobre um erro são realmente exibidas para o usuário. Por padrão, esta opção é definida para respeitar o valor da APP_DEBUGvariável de ambiente, que é armazenada em seu .envarquivo.

Para desenvolvimento local, você deve definir a APP_DEBUGvariável de ambiente como trueEm seu ambiente de produção, esse valor deve ser sempre false. Se a variável for definida como trueem produção, você corre o risco de expor valores de configuração confidenciais aos usuários finais do aplicativo.

Modo de manutenção

Quando seu aplicativo está em modo de manutenção, uma visualização personalizada será exibida para todas as solicitações em seu aplicativo. Isso torna mais fácil “desabilitar” seu aplicativo durante a atualização ou durante a manutenção. Uma verificação do modo de manutenção está incluída na pilha de middleware padrão para seu aplicativo. Se o aplicativo estiver em modo de manutenção, um MaintenanceModeExceptionserá lançado com um código de status de 503.

Para ativar o modo de manutenção, execute o downcomando Artisan:

php artisan down

Você também pode fornecer uma retryopção para o downcomando, que será definido como o Retry-Aftervalor do cabeçalho HTTP:

php artisan down --retry=60

Ignorando o modo de manutenção

Mesmo no modo de manutenção, você pode usar a secretopção de especificar um token de desvio do modo de manutenção:

php artisan down --secret="1630542a-246b-4b66-afa1-dd72a4c43515"

Após colocar o aplicativo em modo de manutenção, você pode navegar até a URL do aplicativo correspondente a este token e o Laravel irá emitir um cookie de desvio do modo de manutenção para o seu navegador:

https://example.com/1630542a-246b-4b66-afa1-dd72a4c43515

Ao acessar esta rota oculta, você será redirecionado para a /rota do aplicativo. Assim que o cookie for emitido para o seu navegador, você poderá navegar no aplicativo normalmente como se ele não estivesse em modo de manutenção.

Pré-renderizando a visualização do modo de manutenção

Se você utilizar o php artisan downcomando durante a implantação, seus usuários ainda podem ocasionalmente encontrar erros se acessarem o aplicativo enquanto as dependências do Composer ou outros componentes de infraestrutura estão sendo atualizados. Isso ocorre porque uma parte significativa do framework Laravel deve inicializar para determinar se sua aplicação está em modo de manutenção e renderizar a visualização do modo de manutenção usando o motor de templates.

Por esta razão, o Laravel permite que você pré-renderize uma visualização do modo de manutenção que será retornada no início do ciclo de solicitação. Esta visualização é renderizada antes que qualquer uma das dependências do seu aplicativo seja carregada. Você pode pré-renderizar um modelo de sua escolha usando a opção downdo comando render:

php artisan down --render="errors::503"

Redirecionando solicitações de modo de manutenção

Enquanto estiver no modo de manutenção, o Laravel irá mostrar a visualização do modo de manutenção para todos os URLs de aplicativos que o usuário tentar acessar. Se desejar, você pode instruir o Laravel a redirecionar todas as solicitações para uma URL específica. Isso pode ser feito usando a redirectopção. Por exemplo, você pode redirecionar todas as solicitações para o /URI:

php artisan down --redirect=/

Desativando o modo de manutenção

Para desativar o modo de manutenção, use o upcomando:

php artisan up

Você pode personalizar o modelo de modo de manutenção padrão definindo seu próprio modelo em resources/views/errors/503.blade.php.

Modo de manutenção e filas

Enquanto seu aplicativo estiver no modo de manutenção, nenhum trabalho na fila será tratado. Os trabalhos continuarão a ser tratados normalmente quando o aplicativo sair do modo de manutenção.

Alternativas ao modo de manutenção

Como o modo de manutenção exige que seu aplicativo tenha vários segundos de tempo de inatividade, considere alternativas como Laravel Vapor e Envoyer para realizar a implantação de tempo de inatividade zero com o Laravel.

About Post Author

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *