我們總是很匆忙,想要盡快開發,我們經常會採用舊習慣並構建舊軟體,我們可以改進的一個項目是這個叫做環境的小東西,讓我們進一步了解一下。
首先,我想在這裡展示 Laravel 配置概念的重點,我不會擔心其餘的模式,例如資源或其他類似的模式。
1 - 讓我們尋求知識!
不久前,我聽說我無法在我的瘋狂代碼中完成這個 ENV pass,我當時想;哇
所以目的就是要了解原因,因為這樣我們當工程師才能做出更好的決策。
1.1 - 正確的方式或觀點?
所以來吧,未來的小主人,讓我們在環境變量中放入一個值,這樣我們就可以玩了,所以我們稱它為:
讓我們轉到第一點,將此配置作為環境變量放置的偉大決定,這樣您就可以更輕鬆地管理不同的環境(生產、審批,如果有的話?)並且更安全,因為這個值它當你在你的儲存庫(git/bitbucket)中進行頑皮的git推送時,它不會被暴露,你能想像你的水秘密被洩露到互聯網上嗎?
要在Laravel 檢索這個值,我們可以使用env() 方法,也可以使用另一個包,例如Illuminate 的Support(這讓我想起了minions,我不知道為什麼?)
env:Laravel Helper(使用 Env::get )
Env::get:Support Illuminate 套件中的 Env 類別
哇,已經準備好了,那為什麼還要繼續發明時尚呢?事實是,這不是一個好主意,我很快就會解釋原因,請留下來。
對於不同的解決方案,我們可以提及將檢索創建的環境的值的配置文件,因此配置文件是集中的,來吧,說真的!更適合閱讀程式碼。
在這種特定情況下,您已經可以使用名為 services.php 的現有設定文件,但沒有什麼可以阻止您為特定上下文建立文件。
路徑中config/services.php
所以我們將在程式碼中呼叫它,如下所示:
2 - 很酷,但是為什麼我應該使用配置來檢索變數而不是直接獲取它們?
我會試著說明一些原因:
2.1 - 提高性能並更好地利用 IO
考慮以下情況,您在生產中是否有文件會一直被訪問,進行大量的 IO,這會增加機器資源,並且根據情況,系統會變慢? (相信我,在您真正找到問題之前,您將經歷一些會質疑您所有知識的事情)
當我們談論生產環境時,建議你緩存你漂亮的配置文件,用Laravel你可以使用artisan
php artisan config:cache
這個漂亮的命令獲取所有配置文件及其各自的值,並將它們編譯成單個 php 文件,從而提高性能。這是因為IO數量減少到1
好奇心:當您使用此命令時,env()開始返回NULL,因為它禁用了此功能。因此,如果來自 "Neida" 的 env() 你的停止工作,就是這樣。
Env() 執行 IO 操作,它們既昂貴又緩慢。
最好在應用程式開始時執行一次此操作,而不是每次需要環境時執行此操作。
2.2 - 以最佳方式組織和標準化
您可以輕鬆保留您想要的所有設定。你可以輸入你想要的狗的名字,創建一個資料夾並按照你想要的方式構造所有數組,這將使結構更清晰(請適度使用)
例如:
看這個鍵:
現在看看這個鍵:
以我的拙見,第一個要好得多。
此外,您可以將類似的配置放在正確且集中的位置,而不必將它們“隨機”放置在代碼中,我真的很喜歡這種構建數組的想法,這對應用程序來說完全有意義。
對於新開發人員的指導要簡單得多,因為您可以告訴他們在哪裡以及如何進行新配置。
保持簡單,與眾不同!
感謝您迄今為止所做的一切。
來源:
Laravel 11 文件配置
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3