簡體   English   中英

laravel 的輔助函數如何在每個文件中全局可用?

[英]How laravel's helper functions are available globally in every file?

我剛剛開始探索 laravel 但我有一個困惑。 我知道如何創建自己的自定義 function 文件並使用 compose.json 文件使其在全球范圍內可用,但我試圖弄清楚 laravel 的幫助程序 ZC1C425268E68385D1AB5074C17A94F 是如何訪問的(包括源文件和路徑)在 composer.json 文件中找到任何自動發現,也不是在任何服務提供者中。

PS:我只簽入了 Providers/ Directory。

誰能告訴我這東西是怎么工作的?

通過 composer Laravel 定義了哪些文件應該被自動加載。 使用 Laravel/framework 中composer.json文件中的行,它指定了應該自動加載的內容。

它加載以下 文件

如果您願意,您可以創建類似的自動加載器,但是在此類幫助器中具有大量邏輯很容易成為一種反模式。 作為邏輯,當人們必須查看您的項目時,它比基於 class 的邏輯更隱藏。

在 laravel 應用程序根目錄上的composer.json文件中,查找條目autoload

這意味着這些目錄上的所有方法都是自動加載的。

這就是為什么如果您(新)在這些目錄中創建了一個方法 / function 並且它沒有按預期工作(或未找到),您需要運行composer dump-autoload以確保所有內容都已加載。

這也是我放置自定義幫助文件的地方:

"files": [
  "app/Helpers/helpers.php"
]

然后,此處的所有 function 將在所有控制器、特征和視圖上可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM