当前位置: 首页 > 知识库问答 >
问题:

PHP Laravel在所有视图中使用helper类

上官波鸿
2023-03-14

我想创建一个助手(函数)来避免在Laravel 5中的所有视图之间重复代码。该函数应该使用数据库中的数据(雄辩),所以它不能只是一个简单的函数或通用视图编辑器。

理想情况下,它应该是这样的:

{!! Helper::addLinks($text) !!}

其中Helper类使用Eloquent来验证值。我希望避免更改所有控制器。这方面的最佳做法是什么?

更新;我有以下工作原型。该函数搜索文本并将从字典中找到的单词替换为超链接:

function addLinks($text) {
    //retrieve words from database
    $words = Words::all();

    //build dictionary with values that needs replacement
    $patterns = array();
    foreach ($words as $word) {
        $patterns[$word->id] = $word->word_name;
    }

    //build dictionary with values the replacements
    $replacements = array();
    foreach ($words as $word) {
        $replacements[$word->id] = "<a href=\"worddetails.php?id=" . $word->id . "\">" . $patterns[$word->id] . "</a>";
    }

    //return text, replace words from dictionary with hyperlinks
    return str_replace($patterns, $replacements, $text);
}

我想在视图中的几个文本块和段落中使用此函数。什么方法最好?

共有1个答案

洪星文
2023-03-14

你可以在你的应用程序/文件夹中创建一个助手类吗?前任。

namespace App;

use App\Models\User;

class Helper
{
    /**
     * Description...
     *
     * @param mixed $value
     *
     * @return mixed
     */
    public static function lookup($value)
    {
        return User::find($value);
    }
}

您可以通过调用{App\Helper::lookup($value)!!}来利用它

准确地知道您希望使用助手用雄辩来验证什么是很有用的,这样我们就可以正确地确定用例中最有吸引力的实践。

 类似资料:
  • 问题内容: 我正在寻找一种简单的方法,可以一次从一个超级视图中删除所有子视图,而不是一个一个地删除它们。 我缺少什么? 更新 我的应用有一个main 。我必须添加其他不同的视图作为子视图,以便提供一种导航。 因此,当单击按钮“打开”特定页面时,我需要删除所有子视图并添加新的子视图。 更新2-可行的解决方案(OS X) 我猜苹果已经解决了。 现在,它比以往更容易了,只需致电: 问题答案: 编辑:(感

  • 问题内容: 在与此问题相关的帖子中,我没有找到相关且最新的答案。 我想在启动时加载所有ViewController。目前,它按预期启动,但是当我点击一个栏项目(第一次)时,由于尚未加载,因此加载时间略有延迟。 我该怎么做是Swift? 谢谢。 问题答案: 要预加载的视图,只需访问其属性: 要将所有视图控制器预加载到,您可以执行以下操作: 或者更紧凑一些:

  • 我试图找出正确的方法,有条件地包括一个视图与swiftui。我不能直接在视图中使用,必须使用堆栈视图才能做到这一点。 这是可行的,但似乎会有更干净的方法。

  • 嗨,我最近才开始使用room数据库,我正在看的课程建议使用一个utils/helper类来完成所有的数据库操作,但我从来没有被教过如何将所有的utils静态方法转换为异步任务,以便在room数据库中正确使用,所以我想知道是否有人对如何实现这一点有建议。干杯 (下面是我正在使用的实用程序和mainFragment Utils类 null null

  • 我刚刚开始学习Laravel,可以做控制器和路由的基础知识。 我的操作系统是MacOSXLion,它在MAMP服务器上。 我的代码从routes.php: 这很有效,视图显示得非常完美,“但是”我想尝试在视图中包含CSS,我尝试在目录中添加指向样式表的链接,但是页面将其显示为默认浏览器字体,即使CSS在HTML中! 这是从视图文件夹中的企业index.php的: 我尝试在我的“其他视图”文件夹(测

  • 问题内容: 最简单的例子: 我已经配置了一个调度程序servlet来捕获所有内容: 我有一个简单的测试控制器: 在这个测试用例中,我将以下行添加(或删除)到: 我的远大目标: 提供静态内容(图像,css,js)以及动态内容(通过Jetty servlet容器内的Velocity生成,与全能的Spring捆绑在一起)。 我的Dilema: 添加时得到404 ,但是我可以从http://localho