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

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

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

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


首先,我想在這裡展示 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]刪除
最新教學 更多>
  • 理解並創建 React 中的自訂 Hook
    理解並創建 React 中的自訂 Hook
    目录 先决条件 安装 介绍 什么是自定义 Hook? 什么时候应该创建自定义 Hook? 示例:创建自定义挂钩 第 1 步:识别可重用逻辑 第 2 步:将逻辑提取到自定义 Hook 中 第 3 步:使用自定义 Hook 自定义 Hook 的好处 自定义 Hook 的最佳实践 结论 ...
    程式設計 發佈於2024-11-08
  • 如何透過偵測瀏覽器標籤的焦點來優化瀏覽器標籤中的資源使用?
    如何透過偵測瀏覽器標籤的焦點來優化瀏覽器標籤中的資源使用?
    偵測瀏覽器標籤焦點以優化資源使用當網頁包含敏感資訊或執行消耗網路資源的密集操作時,管理焦點瀏覽器標籤的數量變得至關重要。偵測特定選項卡目前是否處於焦點狀態允許您實施最佳化資源使用的策略。 確定選項卡是否具有焦點的一種可靠的跨瀏覽器方法是利用 window.onfocus 和 window.onblu...
    程式設計 發佈於2024-11-08
  • Visual Studio 2012 提供哪些 C++11 功能?
    Visual Studio 2012 提供哪些 C++11 功能?
    探索Visual Studio 2012 中的C 11 功能隨著人們對Visual Studio 2012(VS2010 的後繼者)的期望不斷增強,開發人員也迫不及待了解它帶來了哪些C 11 功能。 Visual Studio 2012 中的新C 11 功能雖然Visual Studio 2010 ...
    程式設計 發佈於2024-11-08
  • Java 對企業軟體架構的影響以來 Java 開發實踐的演變
    Java 對企業軟體架構的影響以來 Java 開發實踐的演變
    Java has long been a cornerstone of enterprise software development, offering a robust platform for building scalable and maintainable applications. ...
    程式設計 發佈於2024-11-08
  • 如何在 Python 中同時將子進程輸出重新導向到檔案和終端機?
    如何在 Python 中同時將子進程輸出重新導向到檔案和終端機?
    如何在Python中將子程序的結果同時輸出到文件和終端當使用subprocess.call()時,可以指定檔案描述符作為outf 和errf 將stdout 和stderr 重定向到特定檔案。但是,這些結果不會同時顯示在終端機中。 使用Popen 和線程的解決方案:為了克服這個問題,我們可以直接利用...
    程式設計 發佈於2024-11-08
  • 關係或能力,這兩個標準都被使用
    關係或能力,這兩個標準都被使用
    在社會上,評價一個人的能力和價值時,往往有兩種不同的標準:一是“以關係為準”,二是“以能力為準” 。這兩個標準都體現在不同的文化、產業和個人價值觀中,每個標準都有自己的支持者和反對者。 在程式語言中,有兩種​​標準以不同的方式組織程式碼,將資料結構連結到函數。本文將簡要討論這兩個通用標準的應用和作...
    程式設計 發佈於2024-11-08
  • 為什麼我找不到遠距工作?
    為什麼我找不到遠距工作?
    這不是一篇關於挫折感的文章,而是我在過去一年中一直在探索的現實。儘管透過各種遠距工作平台並利用 LinkedIn 進行申請,但我還沒有獲得一次面試機會。 我是孟加拉國達卡的 ReactJS、NextJS 和 JavaScript 開發人員,我忍不住要問——我錯過了什麼?我有什麼做得不對的地方,還是...
    程式設計 發佈於2024-11-08
  • Litlyx - 漏斗事件簡介
    Litlyx - 漏斗事件簡介
    Litlyx 正成為一把瑞士軍刀,作為收集網路分析的一體化工具。 實施非常簡單,只需不到 30 秒! 最好的部分?我們提供自訂事件跟踪,具有最簡單的用戶體驗。 在我們的儀表板中,一切都設計得直觀且用戶友好(儘管我們還沒有聘請設計師,哈哈)。 漏斗圖 漏斗圖的想法來自我們的一位...
    程式設計 發佈於2024-11-08
  • 如何從頭開始製作 URL 縮短器
    如何從頭開始製作 URL 縮短器
    從頭開始製作應用程式是我最喜歡的學習應用程式運作方式的方式。這篇文章將討論如何從頭開始製作 URL 縮短器。 URL 縮短器非常容易製作,在我看來,這是初學者學習語言的好方法。更困難的部分是添加自訂網域、分析、分組連結以及在 URL 縮短服務之上添加的其他功能。因此,您可以按照以下方法從頭開始製作...
    程式設計 發佈於2024-11-08
  • 快速工程(針對懶惰的程式設計師):準確地取得您想要的程式碼(甚至更多,從 ChatGPT 中取得)
    快速工程(針對懶惰的程式設計師):準確地取得您想要的程式碼(甚至更多,從 ChatGPT 中取得)
    比尔盖茨已经说了这一切......做一个懒惰的程序员!. 作为一名程序员,没有什么比立即运行的代码更好的了——没有错误,没有无休止的调试。通过遵循某些提示技术,您不仅可以让 ChatGPT 编写代码,还可以编写优化的、功能齐全且有文档记录的代码,包括边缘案例、测试,甚至性能优化。 但首先... ...
    程式設計 發佈於2024-11-08
  • React、Vue 和 Svelte 中的 JavaScript 框架 – 選擇哪一個?
    React、Vue 和 Svelte 中的 JavaScript 框架 – 選擇哪一個?
    JavaScript 框架在过去几年中取得了显着的发展,成为现代 Web 应用程序的支柱。 2024 年,React、Vue 和 Svelte 脱颖而出,成为最受欢迎的框架,每个框架都有其独特的优点和缺点。如果您正在构建新的 Web 应用程序,选择正确的框架对于项目的成功至关重要。 在本文中,我们将...
    程式設計 發佈於2024-11-08
  • JavaScript 如何控制逾時執行並確定剩餘時間?
    JavaScript 如何控制逾時執行並確定剩餘時間?
    JavaScript 中的暫停和恢復逾時使用 JavaScript 時,可能需要控制非同步操作的流程,例如逾時。在這裡,我們探索暫停和恢復活動逾時的方法,以及檢索當前逾時的剩餘時間。 暫停和恢復逾時要暫停逾時,您可以使用包裝器攔截 window.setTimeout 呼叫並提供必要功能的函數。包裝函...
    程式設計 發佈於2024-11-08
  • 提高 Spring Boot 應用程式的效能 - 第一部分
    提高 Spring Boot 應用程式的效能 - 第一部分
    啟動Spring Boot應用程式時,我們通常使用啟動器提供的預設設置,這對於大多數情況來說已經足夠了。但是,如果我們需要效能,則可以進行具體調整,如本文第一部分所示。 將 Tomcat 替換為另一個 servlet 容器 應用程式web、RESTFul,使用Spring MVC,...
    程式設計 發佈於2024-11-08
  • 如何在 PHP 中高效合併關聯數組並實現健全的單元測試?
    如何在 PHP 中高效合併關聯數組並實現健全的單元測試?
    在 PHP 中合併關聯數組:高效選項和單元測試策略在 PHP 中合併關聯數組:高效選項和單元測試策略簡介組合關聯數組是 PHP 程式設計中的常見任務。在本文中,我們將探討將兩個或多個關聯數組合併為單一內聚數組的最佳實踐。我們還將討論有效的方法並提供詳細的單元測試策略。 array_merge 與&q...
    程式設計 發佈於2024-11-08
  • 抽象:一種程式化的思考方式
    抽象:一種程式化的思考方式
    「為什麼程式設計師拒絕起床?他們陷入了太多的抽象層!」 在程式設計中,就像在生活中一樣,我們經常需要簡化複雜的事情以使它們更易於管理。想像一下,試圖向從未見過電腦的人解釋互聯網,您不會從談論伺服器和協定開始。相反,你可以使用類比、故事或簡化版本來傳達這個想法。這就是程式設計中抽象的意義所在:簡化複雜...
    程式設計 發佈於2024-11-08

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

Copyright© 2022 湘ICP备2022001581号-3