Configuração
Visão Geral
Flight fornece uma maneira simples de configurar vários aspectos do framework para atender às necessidades da sua aplicação. Alguns são definidos por padrão, mas você pode sobrescrevê-los conforme necessário. Você também pode definir suas próprias variáveis para serem usadas em toda a sua aplicação.
Compreendendo
Você pode personalizar certos comportamentos do Flight definindo valores de configuração
por meio do método set.
Flight::set('flight.log_errors', true);No arquivo app/config/config.php, você pode ver todas as variáveis de configuração padrão disponíveis para você.
Uso Básico
Opções de Configuração do Flight
A seguir, uma lista de todas as configurações disponíveis:
- flight.base_url
?string- Sobrescreve a URL base da solicitação se o Flight estiver rodando em um subdiretório. (padrão: null) - flight.case_sensitive
bool- Correspondência sensível a maiúsculas e minúsculas para URLs. (padrão: false) - flight.handle_errors
bool- Permite que o Flight lide com todos os erros internamente. (padrão: true)- Se você quiser que o Flight lide com erros em vez do comportamento padrão do PHP, isso precisa ser true.
- Se você tiver o Tracy instalado, você quer definir isso como false para que o Tracy possa lidar com erros.
- Se você tiver o plugin APM instalado, você quer definir isso como true para que o APM possa registrar os erros.
- flight.log_errors
bool- Registra erros no arquivo de log de erros do servidor web. (padrão: false)- Se você tiver o Tracy instalado, o Tracy registrará erros com base nas configurações do Tracy, não nesta configuração.
- flight.views.path
string- Diretório contendo arquivos de template de visualização. (padrão: ./views) - flight.views.extension
string- Extensão de arquivo de template de visualização. (padrão: .php) - flight.content_length
bool- Define o cabeçalhoContent-Length. (padrão: true)- Se você estiver usando o Tracy, isso precisa ser definido como false para que o Tracy possa renderizar corretamente.
- flight.v2.output_buffering
bool- Usa buffer de saída legado. Veja migrando para v3. (padrão: false)
Configuração do Loader
Há adicionalmente outra configuração para o loader. Isso permitirá que você
carregue classes automaticamente com _ no nome da classe.
// Ativa o carregamento de classes com underscores
// Padrão: true
Loader::$v2ClassLoading = false;Variáveis
Flight permite que você salve variáveis para que elas possam ser usadas em qualquer lugar da sua aplicação.
// Salva sua variável
Flight::set('id', 123);
// Em outro lugar da sua aplicação
$id = Flight::get('id');Para ver se uma variável foi definida, você pode fazer:
if (Flight::has('id')) {
// Faça algo
}Você pode limpar uma variável fazendo:
// Limpa a variável id
Flight::clear('id');
// Limpa todas as variáveis
Flight::clear();Nota: Apenas porque você pode definir uma variável não significa que você deva. Use este recurso com moderação. O motivo é que qualquer coisa armazenada aqui se torna uma variável global. Variáveis globais são ruins porque podem ser alteradas de qualquer lugar na sua aplicação, tornando difícil rastrear bugs. Além disso, isso pode complicar coisas como testes unitários.
Erros e Exceções
Todos os erros e exceções são capturados pelo Flight e passados para o método error.
se flight.handle_errors estiver definido como true.
O comportamento padrão é enviar uma resposta genérica HTTP 500 Internal Server Error
com algumas informações de erro.
Você pode sobrescrever este comportamento para suas próprias necessidades:
Flight::map('error', function (Throwable $error) {
// Lida com o erro
echo $error->getTraceAsString();
});Por padrão, os erros não são registrados no servidor web. Você pode ativar isso alterando a configuração:
Flight::set('flight.log_errors', true);404 Não Encontrado
Quando uma URL não pode ser encontrada, o Flight chama o método notFound. O comportamento
padrão é enviar uma resposta HTTP 404 Not Found com uma mensagem simples.
Você pode sobrescrever este comportamento para suas próprias necessidades:
Flight::map('notFound', function () {
// Lida com não encontrado
});Veja Também
- Estendendo o Flight - Como estender e personalizar a funcionalidade principal do Flight.
- Testes Unitários - Como escrever testes unitários para sua aplicação Flight.
- Tracy - Um plugin para tratamento avançado de erros e depuração.
- Extensões do Tracy - Extensões para integrar o Tracy com o Flight.
- APM - Um plugin para monitoramento de desempenho de aplicação e rastreamento de erros.
Solução de Problemas
- Se você estiver tendo problemas para descobrir todos os valores da sua configuração, você pode fazer
var_dump(Flight::get());
Registro de Alterações
- v3.5.0 - Adicionada configuração para
flight.v2.output_bufferingpara suportar comportamento de buffer de saída legado. - v2.0 - Configurações principais adicionadas.