我在 app/Helpers
有一些辅助类 . 如何使用 service provider
加载这些类以在刀片模板中使用它们?
例如如果我有一个包含方法 fooBar()
的类 CustomHelper
:
<?php
nampespace App\Helpers;
class CustomHelper
{
static function fooBar()
{
return 'it works!';
}
}
我希望能够在我的刀片模板中执行以下操作:
{{ fooBar() }}
而不是这样做:
{{ \App\Helpers\CustomHelper::fooBar() }}
P.S: @ andrew-brown的answer在Best practices for custom helpers on Laravel 5处理非类文件 . 拥有一个基于类的解决方案会很好,这样可以在类之间组织辅助函数 .
1 回答
我不认为只有在类中有代码时才能使用函数 . 好吧,你可以尝试扩展Blade,但它太多了 .
你应该做的是创建一个额外的文件,例如
app\Helpers\helpers.php
并在你的composer.json文件中放置:创建
app/Helpers/helpers.php
文件并运行现在在
app/Helpers/helpers.php
文件中,您可以添加这些自定义函数,例如:所以你定义了全局函数,但事实上它们都可能使用某些类的特定公共方法 .
顺便说一句,这正是Laravel为自己的助手所做的事情,例如:
如你所见
array_add
只是更短(或可能更简洁)的写作方式Arr::add