Sempre estamos na correria e querendo desenvolver o mais rápido possível, e muitas vezes acabamos pegando os velhos hábitos e construindo os velhos softwares, um item que podemos melhorar bastante é esse queridinho chamado environment, vamos entender um pouco mais sobre isso.
Antes de tudo gostaria de mostrar aqui o foco no conceito de configurações para o laravel, não irei me preocupar com os padrões restantes, como o de resources ou outros afins.
1 - Vamos buscar o conhecimento!
Há um tempo escutei que eu não podia fazer essa passagem de ENV dentro dos meus códigos malucos, fiquei tipo; ué
Então o propósito é entender os motivos, porque assim, conseguimos tomar melhores decisões como engenheiros.
1.1 - Maneira correta ou um ponto de vista ?
Então vamos lá pequeno e futuro mestre, vamos colocar um valor em uma variável de ambiente para podermos brincar, então vamos chamar de:
Vamos para o primeiro ponto, ótima decisão em ter colocado essa configuração como uma variável de ambiente, assim você torna tudo mais fácil para gerenciar diferentes ambientes ( Produção, homologação, Caso você tenha ? ) e muito mais seguro, porque esse valor não vai ser exposto quando você realizar aquele git push maroto no seu repositório (git/bitbucket), já imaginou seu secret de água vazado na internet que triste.
E para recuperar este valor no Laravel podemos utilizar o método env() ou também usar algum outro pacote como por exemplo a Support da Illuminate ( me lembra os minions, não sei porque ? )
env: Helper Laravel ( Que utiliza o Env::get )
Env::get: Classe Env do package Support Illuminate
Nossa, está pronto, então porque ficar inventando moda ? A real é que isso não é uma boa ideia, vou explicar o porque em breve, continue comigo.
Para a solução diferente, podemos citar os arquivos de configuração que irão recuperar o valor do environment criado, assim o arquivo de configuração fica centralizado e vamos lá, fala sério! muito melhor para ler um código.
Nessa situação específica você já pode utilizar o arquivo de config existente, chamado services.php, mas nada impede que você crie um arquivo para o seu contexto específico.
No caminho config/services.php
E assim vamos chamar no código da seguinte forma:
2 - Legal, mas porque eu devo usar configs pra recuperar variáveis e não apenas buscá-las diretamente ?
Vou tentar mostrar algumas razões:
2.1 - Aumento de desempenho e melhor utilização de IO
Pense na seguinte situação, você tem arquivos em produção que serão acessados a todo instante realizando um IO considerável o que vai aumentar recursos de máquina e dependendo da situação lentidão no sistema ? ( E acredite, até você achar o problema de fato, você irá passar por coisas que vão colocar em dúvida todo o seu conhecimento )
Quando falamos do ambiente em produção o recomendado é você fazer cache dos seus lindos arquivos de configuração, com o Laravel você pode utilizar o artisan
php artisan config:cache
Esse lindo comando pega todos os arquivos de configurações e seus respectivos valores e os compila em um único arquivo php, o que aumenta o desempenho. Isso se dá ao fato que os números de IO é reduzido para 1
Curiosidade: Quando você utiliza esse comando o env() começa a retornar NULL porque ele desabilita esta função. Então se do "Neida" um env() seu parou de funcionar é isso.
Env() Executam operação de IO e elas são caras e lentas.
O melhor é fazer essa operação uma única vez no início da aplicação do que você ter que executar a operação toda vez que necessitar de um env.
2.2 - Bestmögliche Organisation und Standardisierung
Sie können alle Ihre Einstellungen ganz einfach so beibehalten, wie Sie möchten. Sie können den Namen des gewünschten Hundes eingeben, einen Ordner erstellen und alle Arrays nach Ihren Wünschen strukturieren. Dadurch wird die Struktur sauberer (bitte in Maßen verwenden)
Zum Beispiel:
Sehen Sie sich diesen Schlüssel an:
Und jetzt schauen Sie sich diesen Schlüssel an:
Meiner bescheidenen Meinung nach ist der 1. viel besser.
Und außerdem können Sie Ihre ähnlichen Konfigurationen an der richtigen und zentralen Stelle haben, ohne sie „zufällig“ in Ihrem Code platzieren zu müssen, und mir gefällt diese Idee, das Array so zu strukturieren, dass es für die Anwendung absolut sinnvoll ist, wirklich gut.
Und die Anleitung für neue Entwickler ist viel einfacher, da Sie ihnen sagen können, wo und wie sie eine neue Konfiguration vornehmen müssen.
Keep it simple, sei der Unterschied!
Vielen Dank für alles bisher.
Quelle:
Laravel 11-Konfigurationsdokumentation
Das obige ist der detaillierte Inhalt vonHours ist eine Umgebungsvariable, ich werde ENV verwenden. Beruhige dich, beruhige dich, lass mich dir zuerst etwas sagen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!