우리는 항상 서두르고 가능한 한 빨리 개발하기를 원하며 결국 오래된 습관을 채택하고 오래된 소프트웨어를 구축하게 되는 경우가 많습니다. 우리가 많이 개선할 수 있는 항목은 환경이라는 작은 것입니다. 조금 이해해 봅시다. 이것에 대해 더 자세히 알아보세요.
우선 여기서는 라라벨의 구성 개념에 중점을 두고 리소스나 기타 등등의 나머지 표준에 대해서는 걱정하지 않겠다는 점을 보여드리고 싶습니다.
1 - 지식을 추구하자!
얼마 전 제 미친 코드 내에서 이 ENV 패스를 할 수 없다는 말을 들었습니다. 와
따라서 목적은 이유를 이해하는 것입니다. 그렇게 하면 엔지니어로서 더 나은 결정을 내릴 수 있기 때문입니다.
1.1 - 올바른 방법이나 관점은?
자, 꼬마 미래의 주인님, 놀 수 있도록 환경 변수에 값을 넣어봅시다:
첫 번째 요점으로 가보겠습니다. 이 구성을 환경 변수로 배치한 훌륭한 결정입니다. 이렇게 하면 다양한 환경(생산, 승인, 있는 경우?)을 관리하기가 더 쉬워지고 훨씬 더 안전해집니다. 저장소(git/bitbucket)에서 장난스러운 git push를 수행하면 노출될 수 있습니다. 귀하의 물 비밀이 인터넷에 유출되는 것을 상상할 수 있습니까? 얼마나 슬프겠습니까.
그리고 Laravel에서 이 값을 검색하려면 env() 메서드를 사용하거나 Illuminate의 Support와 같은 다른 패키지를 사용할 수도 있습니다(미니언이 생각나는데 왜 그런지 모르겠습니다.)
env: Laravel 도우미(Env::get를 사용함)
Env::get: Support Illuminate 패키지의 Env 클래스
와, 준비됐는데 왜 계속 패션을 발명하는 걸까요? 진실은 이것이 좋은 생각이 아니라는 것입니다. 이유를 곧 설명하겠습니다. 나와 함께 있어주세요.
다른 솔루션의 경우 생성된 environment의 값을 검색하는 구성 파일을 언급할 수 있으므로 구성 파일이 중앙 집중화됩니다. 코드를 읽는 데 훨씬 좋습니다.
이 특정 상황에서는 이미 services.php라는 기존 구성 파일을 사용할 수 있지만 특정 컨텍스트에 대한 파일을 생성하는 데 방해가 되는 것은 없습니다.
경로 config/services.php
그래서 코드에서 다음과 같이 호출하겠습니다.
2 - 멋지네요. 그런데 변수를 직접 가져오는 것이 아니라 구성을 사용하여 변수를 검색해야 하는 이유는 무엇인가요?
몇 가지 이유를 보여드리겠습니다:
2.1 - 성능 향상 및 IO 활용도 향상
다음 상황을 생각해 보세요. 항상 액세스하고 상당한 IO를 수행하여 시스템 리소스를 늘리고 상황에 따라 시스템 속도가 저하되는 프로덕션 파일이 있습니까? (그리고 실제로 문제를 찾을 때까지 모든 지식에 의문을 제기하는 일을 겪게 될 것이라고 믿으세요)
제작 환경에 관해 이야기할 때 아름다운 구성 파일을 캐시하는 것이 좋습니다. Laravel을 사용하면 artisan을 사용할 수 있습니다
이 아름다운 명령은 모든 구성 파일과 해당 값을 가져와 단일 PHP 파일로 컴파일하여 성능을 향상시킵니다. 이는 IO 수가 1
으로 줄어들었기 때문입니다.Curiosity: 이 명령을 사용하면 env()는 이 기능을 비활성화하기 때문에 NULL을 반환하기 시작합니다. 따라서 "Neida"에서 env()가 작동을 멈췄다면 그게 전부입니다.
Env() IO 작업을 수행하면 비용이 많이 들고 느립니다.
이 작업은 환경이 필요할 때마다 수행하는 것보다 애플리케이션 초기에 한 번 수행하는 것이 가장 좋습니다.
2.2 - 以最佳方式組織和標準化
您可以輕鬆地保留您想要的所有設定。你可以輸入你想要的狗的名字,創建一個資料夾並按照你想要的方式構造所有數組,這將使結構更清晰(請適度使用)
例如:
看這個鍵:
現在看看這個鍵:
以我的愚見,第一個好得多。
此外,您可以將類似的配置放在正確且集中的位置,而不必將它們“隨機”放置在代碼中,我真的很喜歡這種構造數組的想法,這對應用程序來說非常有意義。
對於新開發人員的指導要簡單得多,因為您可以告訴他們在哪裡以及如何進行新配置。
保持簡單,與眾不同!
感謝您迄今為止所做的一切。
來源:
Laravel 11 配置文件
위 내용은 시간은 환경 변수이므로 ENV를 사용하겠습니다. 진정해 진정해 먼저 말해줄게의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!