我想创建一个帮助器(函数)以避免在Laravel 5中的所有视图之间重复代码 . 该函数应该使用来自数据库的数据(Eloquent),因此它不能只是一个简单的函数或一般的视图组合器 .
理想情况下它应该是这样的:
{!! Helper::addLinks($text) !!}
Helper类使用Eloquent验证 $value
的位置 . 我想避免更改所有控制器 . 这是什么最好的做法?
Update; 我有以下工作原型 . 此函数搜索文本并使用超链接替换从字典中找到的单词:
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 回答
你可以在
app/
文件夹中创建一个帮助器类吗?防爆 .你可以通过调用
{!! App\Helper::lookup($value) !!}
来利用它使用帮助器确切地知道您要使用eloquent验证什么是有用的,这样我们就可以正确地确定用例最有吸引力的实践 .