繁体   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