」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Hours是一個環境變量,我將使用ENV。冷靜冷靜,我先告訴你一件事

Hours是一個環境變量,我將使用ENV。冷靜冷靜,我先告訴你一件事

發佈於2024-11-08
瀏覽:678

我們總是很匆忙,想要盡快開發,我們經常會採用舊習慣並構建舊軟體,我們可以改進的一個項目是這個叫做環境的小東西,讓我們進一步了解一下。


首先,我想在這裡展示 Laravel 配置概念的重點,我不會擔心其餘的模式,例如資源或其他類似的模式。

1 - 讓我們尋求知識!

不久前,我聽說我無法在我的瘋狂代碼中完成這個 ENV pass,我當時想;哇
所以目的就是要了解原因,因為這樣我們當工程師才能做出更好的決策。

1.1 - 正確的方式或觀點?

所以來吧,未來的小主人,讓我們在環境變量中放入一個值,這樣我們就可以玩了,所以我們稱它為:

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

讓我們轉到第一點,將此配置作為環境變量放置的偉大決定,這樣您就可以更輕鬆地管理不同的環境(生產、審批,如果有的話?)並且更安全,因為這個值它當你在你的儲存庫(git/bitbucket)中進行頑皮的git推送時,它不會被暴露,你能想像你的水秘密被洩露到互聯網上嗎?

要在Laravel 檢索這個值,我們可以使用env() 方法,也可以使用另一個包,例如Illuminate 的Support(這讓我想起了minions,我不知道為什麼?)

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

env:Laravel Helper(使用 Env::get
Env::get:Support Illuminate 套件中的 Env 類別

哇,已經準備好了,那為什麼還要繼續發明時尚呢?事實是,這不是一個好主意,我很快就會解釋原因,請留下來。
對於不同的解決方案,我們可以提及將檢索創建的環境的值的配置文件,因此配置文件是集中的,來吧,說真的!更適合閱讀程式碼。

在這種特定情況下,您已經可以使用名為 services.php 的現有設定文件,但沒有什麼可以阻止您為特定上下文建立文件。

路徑中config/services.php

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

所以我們將在程式碼中呼叫它,如下所示:

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


2 - 很酷,但是為什麼我應該使用配置來檢索變數而不是直接獲取它們?

我會試著說明一些原因:

2.1 - 提高性能並更好地利用 IO

考慮以下情況,您在生產中是否有文件會一直被訪問,進行大量的 IO,這會增加機器資源,並且根據情況,系統會變慢? (相信我,在您真正找到問題之前,您將經歷一些會質疑您所有知識的事情)

當我們談論生產環境時,建議你緩存你漂亮的配置文件,用Laravel你可以使用artisan

php artisan config:cache

這個漂亮的命令獲取所有配置文件及其各自的值,並將它們編譯成單個 php 文件,從而提高性能。這是因為IO數量減少到1

好奇心:當您使用此命令時,env()開始返回NULL,因為它禁用了此功能。因此,如果來自 "Neida"env() 你的停止工作,就是這樣。

Env() 執行 IO 操作,它們既昂貴又緩慢。

最好在應用程式開始時執行一次此操作,而不是每次需要環境時執行此操作。

2.2 - 以最佳方式組織和標準化

您可以輕鬆保留您想要的所有設定。你可以輸入你想要的狗的名字,創建一個資料夾並按照你想要的方式構造所有數組,這將使結構更清晰(請適度使用)
例如:

看這個鍵:

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

現在看看這個鍵:

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

以我的拙見,第一個要好得多。

此外,您可以將類似的配置放在正確且集中的位置,而不必將它們“隨機”放置在代碼中,我真的很喜歡這種構建數組的想法,這對應用程序來說完全有意義。

對於新開發人員的指導要簡單得多,因為您可以告訴他們在哪裡以及如何進行新配置。

保持簡單,與眾不同!

感謝您迄今為止所做的一切。

來源:

Laravel 11 文件配置

版本聲明 本文轉載於:https://dev.to/paulocavalcante/horas-e-uma-variavel-de-ambiente-vou-usar-o-env-calma-calma-deixa-eu-te-falar-uma-coisa- antes-3hk?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • Java中假喚醒真的會發生嗎?
    Java中假喚醒真的會發生嗎?
    在Java中的浪費喚醒:真實性或神話? 在Java同步中偽裝喚醒的概念已經是討論的主題。儘管存在這種行為的潛力,但問題仍然存在:它們實際上是在實踐中發生的嗎? Linux的喚醒機制根據Wikipedia關於偽造喚醒的文章,linux實現了pthread_cond_wait()功能的Linux實現,...
    程式設計 發佈於2025-07-14
  • 人臉檢測失敗原因及解決方案:Error -215
    人臉檢測失敗原因及解決方案:Error -215
    錯誤處理:解決“ error:((-215)!empty()in Function Multultiscale中的“ openCV 要解決此問題,必須確保提供給HAAR CASCADE XML文件的路徑有效。在提供的代碼片段中,級聯分類器裝有硬編碼路徑,這可能對您的系統不准確。相反,OPENCV提...
    程式設計 發佈於2025-07-14
  • 將圖片浮動到底部右側並環繞文字的技巧
    將圖片浮動到底部右側並環繞文字的技巧
    在Web設計中圍繞在Web設計中,有時可以將圖像浮動到頁面右下角,從而使文本圍繞它纏繞。這可以在有效地展示圖像的同時創建一個吸引人的視覺效果。 css位置在右下角,使用css float and clear properties: img { 浮點:對; ...
    程式設計 發佈於2025-07-14
  • 為什麼PHP的DateTime :: Modify('+1個月')會產生意外的結果?
    為什麼PHP的DateTime :: Modify('+1個月')會產生意外的結果?
    使用php dateTime修改月份:發現預期的行為在使用PHP的DateTime類時,添加或減去幾個月可能並不總是會產生預期的結果。正如文檔所警告的那樣,“當心”這些操作的“不像看起來那樣直觀。 ; $ date->修改('1個月'); //前進1個月 echo $ date->...
    程式設計 發佈於2025-07-14
  • C++中如何將獨占指針作為函數或構造函數參數傳遞?
    C++中如何將獨占指針作為函數或構造函數參數傳遞?
    在構造函數和函數中將唯一的指數管理為參數 unique pointers( unique_ptr [2啟示。通過值: base(std :: simelor_ptr n) :next(std :: move(n)){} 此方法將唯一指針的所有權轉移到函數/對象。指針的內容被移至功能中,在操作...
    程式設計 發佈於2025-07-14
  • 如何在Java的全屏獨家模式下處理用戶輸入?
    如何在Java的全屏獨家模式下處理用戶輸入?
    Handling User Input in Full Screen Exclusive Mode in JavaIntroductionWhen running a Java application in full screen exclusive mode, the usual event ha...
    程式設計 發佈於2025-07-14
  • 如何使用Python理解有效地創建字典?
    如何使用Python理解有效地創建字典?
    在python中,詞典綜合提供了一種生成新詞典的簡潔方法。儘管它們與列表綜合相似,但存在一些顯著差異。 與問題所暗示的不同,您無法為鑰匙創建字典理解。您必須明確指定鍵和值。 For example:d = {n: n**2 for n in range(5)}This creates a dict...
    程式設計 發佈於2025-07-14
  • 為什麼我會收到MySQL錯誤#1089:錯誤的前綴密鑰?
    為什麼我會收到MySQL錯誤#1089:錯誤的前綴密鑰?
    mySQL錯誤#1089:錯誤的前綴鍵錯誤descript [#1089-不正確的前綴鍵在嘗試在表中創建一個prefix鍵時會出現。前綴鍵旨在索引字符串列的特定前綴長度長度,可以更快地搜索這些前綴。 了解prefix keys `這將在整個Movie_ID列上創建標準主鍵。主密鑰對於唯一識...
    程式設計 發佈於2025-07-14
  • eval()vs. ast.literal_eval():對於用戶輸入,哪個Python函數更安全?
    eval()vs. ast.literal_eval():對於用戶輸入,哪個Python函數更安全?
    稱量()和ast.literal_eval()中的Python Security 在使用用戶輸入時,必須優先確保安全性。強大的python功能eval()通常是作為潛在解決方案而出現的,但擔心其潛在風險。本文深入研究了eval()和ast.literal_eval()之間的差異,突出顯示其安全性含義...
    程式設計 發佈於2025-07-14
  • Java中Lambda表達式為何需要“final”或“有效final”變量?
    Java中Lambda表達式為何需要“final”或“有效final”變量?
    Lambda Expressions Require "Final" or "Effectively Final" VariablesThe error message "Variable used in lambda expression shou...
    程式設計 發佈於2025-07-14
  • 如何避免Go語言切片時的內存洩漏?
    如何避免Go語言切片時的內存洩漏?
    ,a [j:] ...雖然通常有效,但如果使用指針,可能會導致內存洩漏。這是因為原始的備份陣列保持完整,這意味著新切片外部指針引用的任何對象仍然可能佔據內存。 copy(a [i:] 對於k,n:= len(a)-j i,len(a); k
    程式設計 發佈於2025-07-14
  • 如何在GO編譯器中自定義編譯優化?
    如何在GO編譯器中自定義編譯優化?
    在GO編譯器中自定義編譯優化 GO中的默認編譯過程遵循特定的優化策略。 However, users may need to adjust these optimizations for specific requirements.Optimization Control in Go Compi...
    程式設計 發佈於2025-07-14
  • 如何簡化PHP中的JSON解析以獲取多維陣列?
    如何簡化PHP中的JSON解析以獲取多維陣列?
    php 試圖在PHP中解析JSON數據的JSON可能具有挑戰性,尤其是在處理多維數組時。 To simplify the process, it's recommended to parse the JSON as an array rather than an object.To do...
    程式設計 發佈於2025-07-14
  • 在JavaScript中如何並發運行異步操作並正確處理錯誤?
    在JavaScript中如何並發運行異步操作並正確處理錯誤?
    同意操作execution 在執行asynchronous操作時,相關的代碼段落會遇到一個問題,當執行asynchronous操作:此實現在啟動下一個操作之前依次等待每個操作的完成。要啟用並發執行,需要進行修改的方法。 第一個解決方案試圖通過獲得每個操作的承諾來解決此問題,然後單獨等待它們: c...
    程式設計 發佈於2025-07-14
  • 在GO中構造SQL查詢時,如何安全地加入文本和值?
    在GO中構造SQL查詢時,如何安全地加入文本和值?
    在go中構造文本sql查詢時,在go sql queries 中,在使用conting and contement和contement consem per時,尤其是在使用integer per當per當per時,per per per當per. 在GO中實現這一目標的慣用方法是使用fmt.spr...
    程式設計 發佈於2025-07-14

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3