如何在Laravel中创建自定义辅助函数

603
我想创建一些辅助函数来避免在Laravel视图之间重复编写代码。例如:

view.blade.php

<p>Foo Formated text: {{ fooFormatText($text) }}</p>

它们基本上是文本格式化函数。我应该如何定义全局可用的辅助函数,例如fooFormatText()

23个回答

0
首先,在 App\Helpers\Helper.php 文件/类中创建你的帮助器文件/类,如下所示:
<?php

namespace App\Helpers;

class Helper {

    // Your customer public function
}

然后在Composer.json中定义它 自动加载 然后运行composer dump-autoload


0
在 Laravel 5.3 及以上版本中,Laravel 团队将所有过程文件(routes.php)移出了 app/ 目录,并且整个 app/ 文件夹是 psr-4 自动加载的。接受的答案在这种情况下可以工作,但我觉得不太对。
所以我创建了一个位于项目根目录下的 helpers/ 目录,并将助手文件放在其中,在我的 composer.json 文件中做了如下操作:
...
"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/"
    },
    "files": [
        "helpers/ui_helpers.php"
    ]
},
...

这样我的app/目录仍然是一个psr-4自动加载的目录,而且助手函数也更好地组织了。


-2
App/Helpers/ 中创建新文件 examplehelper.php,然后将其添加到 composer.json 文件中。
"autoload": { "classmap": [ "database"], "psr-4": { "App\\": "app/" },
"files": ["helpers/examplehelper.php" ]},

5
这与被采纳答案中的解决方案非常相似。当回答已有答案的旧问题时,请确保您提供的是一个新颖的解决方案或者比现有答案更为显著的解释。 - Eric Aya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接