Php 拉维生成函数
我有以下代码:Php 拉维生成函数,php,laravel,Php,Laravel,我有以下代码: <td><a href="http://example.com/forum/{{ $forum->seo_name }}/{{ $forum->id }}">{{ $forum->name }}</a></td> 我如何使用它的模板?也许有更好的方法可以做到这一点?方法1:创建助手 我通常在app文件夹中创建一个helpers.php文件,并将其添加到composer.json的自动加载部分: "autoload
<td><a href="http://example.com/forum/{{ $forum->seo_name }}/{{ $forum->id }}">{{ $forum->name }}</a></td>
我如何使用它的模板?也许有更好的方法可以做到这一点?方法1:创建助手
我通常在app
文件夹中创建一个helpers.php
文件,并将其添加到composer.json
的自动加载部分:
"autoload": {
"classmap": [
...
],
"psr-4": {
"App\\": "app/"
},
"files": [
"app/helpers.php" // Add this file
]
},
在helpers.php
中,添加如下函数:
function generateForumURL($name, $id)
{
// Using the url() helper, so you don't have to manually switch between
// localhost and the production website name
return url($name . "/" . $id);
}
@include('forums.partials.link', ['forum' => $forum])
完成后不要忘记运行composer dump autoload
方法2:
另一种方法是简单地向论坛
模型添加一个getUrlAttribute
,该模型返回URL:
class Forum extends Eloquent {
...
public function getUrlAttribute()
{
return url($this->name . '/' . $this->id);
}
}
现在,您可以将$forum->url
作为字符串在任何您喜欢的地方使用
使用链接模板 您可以将模板另存为视图(我通常将其保存在
partials
文件夹中),并将其包含在您需要的任何位置:
文件views/forums/partials/link.blade.php
:
@if(isset($forum))
<a href="{{ $forum->url }}">{{ $forum->name }}</a>
@endif
我现在怎么用呢?我尝试了{{generateFrumUrl('test','test')},我得到了
调用未定义函数generateFrumUrl()
Runcomposer dump autoload
解析错误:语法错误,在C:\myadmin\htdocs\app\helpers.php的第2行public函数generateFrumUrl($name,$id)中意外的“public”(Túpublic)
首先是Oops,我的坏消息。正如错误清楚解释的那样,从helper函数中删除public
。
@include('forums.partials.link', ['forum' => $forum])