Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Jam adalah pembolehubah persekitaran, saya akan menggunakan ENV. Tenang, bertenang, biar saya beritahu awak sesuatu dulu

Jam adalah pembolehubah persekitaran, saya akan menggunakan ENV. Tenang, bertenang, biar saya beritahu awak sesuatu dulu

WBOY
WBOYasal
2024-08-26 08:30:34547semak imbas

Kami sentiasa tergesa-gesa dan ingin berkembang secepat mungkin, dan kami sering akhirnya mengamalkan tabiat lama dan membina perisian lama, item yang boleh kami perbaiki dengan banyak ialah perkara kecil ini yang dipanggil persekitaran, mari kita fahami sedikit lagi tentang itu.


Pertama sekali, saya ingin menunjukkan di sini fokus pada konsep konfigurasi untuk laravel, saya tidak akan bimbang tentang piawaian yang tinggal, seperti sumber atau lain-lain seperti itu.

1 - Jom cari ilmu!

Sebentar tadi saya mendengar bahawa saya tidak dapat melakukan pas ENV ini dalam kod gila saya, saya seperti; wow
Jadi tujuannya adalah untuk memahami sebabnya, kerana dengan cara ini, kita boleh membuat keputusan yang lebih baik sebagai jurutera.

1.1 - Cara atau sudut pandangan yang betul?

Jadi ayuh tuan masa depan kecil, mari letakkan nilai dalam pembolehubah persekitaran supaya kita boleh bermain-main, jadi mari kita panggil:

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

Mari kita pergi ke perkara pertama, keputusan yang bagus untuk meletakkan konfigurasi ini sebagai pembolehubah persekitaran, dengan cara ini anda menjadikan segala-galanya lebih mudah untuk menguruskan persekitaran yang berbeza (Pengeluaran, kelulusan, Jika anda mempunyai satu? ) dan lebih selamat, kerana nilai ini Ia tidak akan didedahkan apabila anda melakukan git push yang nakal itu dalam repositori anda (git/bitbucket), bolehkah anda bayangkan rahsia air anda dibocorkan di internet, betapa sedihnya.

Dan untuk mendapatkan semula nilai ini dalam Laravel kita boleh menggunakan kaedah env() atau juga menggunakan pakej lain seperti Sokongan daripada Illuminate (ia mengingatkan saya kepada minions, saya tidak tahu mengapa? )

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

env: Laravel Helper (Itu menggunakan Env::get )
Env::get: Kelas Env daripada pakej Support Illuminate

Wah, sudah siap, jadi mengapa terus mencipta fesyen? Sebenarnya ini bukan idea yang baik, saya akan menerangkan mengapa tidak lama lagi, tinggal bersama saya.
Untuk penyelesaian yang berbeza, kita boleh menyebut fail konfigurasi yang akan mendapatkan semula nilai persekitaran yang dicipta, jadi fail konfigurasi dipusatkan dan teruskan, dengan serius! lebih baik untuk membaca kod.

Dalam situasi khusus ini, anda sudah boleh menggunakan fail konfigurasi sedia ada, dipanggil services.php, tetapi tiada apa yang menghalang anda daripada mencipta fail untuk konteks khusus anda.

Dalam laluan config/services.php

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

Jadi kami akan memanggilnya dalam kod seperti berikut:

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


2 - Hebat, tetapi mengapa saya perlu menggunakan konfigurasi untuk mendapatkan semula pembolehubah dan bukan hanya mengambilnya secara terus?

Saya akan cuba tunjukkan beberapa sebab:

2.1 - Peningkatan prestasi dan penggunaan IO yang lebih baik

Fikirkan tentang situasi berikut, adakah anda mempunyai fail dalam pengeluaran yang akan diakses sepanjang masa, menjalankan IO yang besar, yang akan meningkatkan sumber mesin dan bergantung pada situasi, kelembapan sistem? (Dan percayalah, sehingga anda benar-benar menemui masalah, anda akan melalui perkara yang akan mempersoalkan semua pengetahuan anda)

Apabila kita bercakap tentang persekitaran pengeluaran, adalah disyorkan agar anda menyimpan fail konfigurasi cantik anda, dengan Laravel anda boleh menggunakan artisan

php artisan config:cache

Arahan cantik ini mengambil semua fail konfigurasi dan nilai masing-masing dan menyusunnya ke dalam satu fail php, yang meningkatkan prestasi. Ini disebabkan oleh fakta bahawa nombor IO dikurangkan kepada 1

Rasa ingin tahu: Apabila anda menggunakan arahan ini, env() mula mengembalikan NULL kerana ia melumpuhkan fungsi ini. Jadi jika "Neida" dan env() berhenti berfungsi, itu sahaja.

Env() Lakukan operasi IO dan ia mahal dan lambat.

Sebaik-baiknya lakukan operasi ini sekali pada permulaan aplikasi daripada perlu melakukan operasi setiap kali anda memerlukan 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, mencipta folder dan menyusun 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 berpusat tanpa perlu meletakkannya "secara rawak" dalam kod anda, dan saya sangat menyukai idea ini untuk menstruktur tatasusunan yang benar-benar masuk akal 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 untuk segala-galanya setakat ini.

Sumber:

Dokumentasi Konfigurasi Laravel 11

Atas ialah kandungan terperinci Jam adalah pembolehubah persekitaran, saya akan menggunakan ENV. Tenang, bertenang, biar saya beritahu awak sesuatu dulu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn