Hours est une variable d'environnement, j'utiliserai ENV. Calme-toi, calme-toi, laisse-moi d'abord te dire quelque chose

WBOY
Libérer: 2024-08-26 08:30:34
original
283 Les gens l'ont consulté

Nous sommes toujours pressés et souhaitons développer le plus rapidement possible, et nous finissons souvent par adopter de vieilles habitudes et construire d'anciens logiciels. Un élément que nous pouvons beaucoup améliorer est cette petite chose appeléeenvironnement, comprenons un peu. plus à ce sujet.


Tout d'abord, je voudrais montrer ici l'accent mis sur le concept de configurations pour Laravel, je ne me soucierai pas des standards restants, comme les ressources ou autres comme ça.

1 - Cherchons la connaissance !

Il y a quelque temps, j'ai entendu dire que je ne pouvais pas faire cette passe ENV avec mes codes fous, je me disais : wow
Le but est donc de comprendre les raisons, car de cette façon, nous pouvons prendre de meilleures décisions en tant qu'ingénieurs.

1.1 - Manière correcte ou point de vue ?

Alors allez petit futur maître, mettons une valeur dans une variable d'environnement pour pouvoir jouer, alors appelons-la :

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes

Passons au premier point, excellente décision d'avoir placé cette configuration comme variable d'environnement, de cette façon vous rendez tout plus facile à gérer les différents environnements (Production, approbation, Si vous en avez un ? ) et beaucoup plus sûr, car cette valeur ne sera pas être exposé lorsque vous effectuez ce vilaingit pushsur votre référentiel (git/bitbucket), pouvez-vous imaginer que votre secret d'eau soit divulgué sur Internet, comme c'est triste.

Et pour récupérer cette valeur dans Laravel on peut utiliser la méthodeenv()ou aussi utiliser un autre package comme Support d'Illuminate (ça me rappelle les minions, je ne sais pas pourquoi ?)

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes

env: Laravel Helper (qui utiliseEnv::get)
Env::get: classe Env du package Support Illuminate

Wow, c'est prêt, alors pourquoi continuer à inventer la mode ? La vérité est que ce n'est pas une bonne idée, je t'expliquerai pourquoi bientôt, reste avec moi.
Pour les différentes solutions, on peut citer les fichiers de configuration qui vont récupérer la valeur de l'environnementcréé, donc le fichier de configuration est centralisé et allez, sérieusement ! bien mieux pour lire un code.

Dans cette situation spécifique, vous pouvez déjà utiliser le fichier de configuration existant, appeléservices.php, mais rien ne vous empêche de créer un fichier pour votre contexte spécifique.

Dans le cheminconfig/services.php

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes

Et donc nous l'appellerons dans le code comme suit :

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes


2 - Cool, mais pourquoi devrais-je utiliser des configurations pour récupérer des variables et pas seulement les récupérer directement ?

Je vais essayer de vous montrer quelques raisons :

2.1 - Performances accrues et meilleure utilisation des E/S

Pensez à la situation suivante : avez-vous des fichiers en production qui seront consultés à tout moment, effectuant des E/S considérables, ce qui augmentera les ressources de la machine et, selon la situation, des ralentissements du système ? (Et croyez-moi, jusqu'à ce que vous trouviez réellement le problème, vous passerez par des choses qui remettront en question toutes vos connaissances)

Quand on parle d'environnement de production, il est recommandé de mettre en cache vos beaux fichiers de configuration, avec Laravel vous pouvez utiliser artisan

php artisan config:cache
Copier après la connexion

Cette belle commande prend tous les fichiers de configuration et leurs valeurs respectives et les compile en un seul fichier php, ce qui augmente les performances. Cela est dû au fait que les nombres IO sont réduits à 1

Curiosité :Lorsque vous utilisez cette commande, env() commence à renvoyerNULLcar il désactive cette fonction. Donc si de"Neida"unenv()le vôtre a cessé de fonctionner, c'est tout.

Env()Effectuez des opérations IO et elles sont coûteuses et lentes.

Il est préférable de faire cette opération une fois au début de l'application plutôt que de devoir effectuer l'opération à chaque fois que vous avez besoin d'un env.

2.2 - Organisasi dan penyeragaman dengan cara yang terbaik

Anda boleh menyimpan semua tetapan anda dengan mudah mengikut kehendak anda. Anda boleh meletakkan nama anjing yang anda mahu, buat folder dan struktur semua tatasusunan seperti yang anda mahu juga, ini akan menjadikan struktur lebih bersih (sila gunakan secara sederhana)
Contohnya:

Lihat kunci ini:

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes

dan sekarang lihat kunci ini:

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes

Pada pendapat saya, yang pertama adalah lebih baik.

Selain itu, anda boleh mempunyai konfigurasi serupa anda di tempat yang betul dan terpusat tanpa perlu meletakkannya "secara rawak" dalam kod anda, dan saya sangat menyukai idea ini untuk menstruktur tatasusunan yang sesuai untuk aplikasi.

Dan panduan untuk pembangun baharu adalah lebih mudah, kerana anda boleh memberitahu mereka tempat dan cara membuat konfigurasi baharu.

Permudahkan, jadilah perbezaan!

Terima kasih atas segalanya setakat ini.

Sumber:

Dokumentasi Konfigurasi Laravel 11

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!