![](/img/trans.png)
[英]How to make a custom helper function, available in every controller for Laravel 5
[英]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.