Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉维生成函数_Php_Laravel - Fatal编程技术网

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()
Run
composer 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])