Laravel 5 在视图中访问自定义函数

Laravel 5 accessing custom functions in a view

我希望能够添加我可以在视图中使用的自定义函数。例如,我想让调用一个显示数据的函数成为可能。我不想从控制器执行此操作,因为我试图使其尽可能可定制。

显然有人向我发送了有关可能创建服务提供商并将其注入应用程序基础的信息?

您可以直接在 bootstrap/app.php 中创建自定义辅助函数,但还有更好的方法。

如果你只是想要像Laravel's helpers这样的简单函数,在你的应用程序目录中创建一个helpers.php文件并在你的bootstrap/app.php文件中需要它,然后你可以创建所有的自定义函数你想要的,例如:

<?php

function coolText($text) {
    return 'Cool ' . $text;
}

并在您的视图中调用它:

<div>{{ coolText($someVar) }}</div>

对于更高级的东西,您可以在您的应用程序目录中创建一个 Helper class,将其绑定到您的 AppServiceProvider.php 并在此 class 中添加您选择的任何方法。

app/Helpers.php

<?php namespace Helpers;

class Helpers
{
    public function coolText($text)
    {
        return 'Cool ' . $text;
    }
}

您可以在您的视图中插入此 class 或为此 class 创建一个 Facade 以在您的视图中访问它:

<div>{{ Helpers::coolText($someVar) }}</div>