我的 laravel-class 应该继承什么?

10 浏览
0 Comments

我的 laravel-class 应该继承什么?

根据这些回答的建议:Laravel 4的助手或基本功能的最佳实践和最佳位置是什么?

我创建了一个文件app/library/sitehelpers.php并将其添加到应用程序中。我的类应该继承什么?如何在控制器中引用它?

type = $type;
        $post->postid = $postid;
        $post->url = $url;
        $post->author = $author;
        $post->content = $content;
        try
        {
        $post->save();
        echo $post;
        }catch(Exception $e){
            throw new Exception( 'Already saved', 0, $e);
        } 
    }
}

我尝试在控制器中这样引用它:

public function savepostController($type, $postid, $url, $author, $content)
{
    SiteHelpers::save($type, $postid, $url, $author, $content);
}

但是我得到了控制器方法未找到的错误。

0
0 Comments

问题的出现原因:这个问题的出现是因为提问者想知道他的 Laravel 类应该继承什么,以便在 Laravel 中使用。

解决方法:根据回答者的回答和建议,提问者可以不需要继承任何类,只要将类文件放在 composer require 的路径下,Laravel 就会自动加载这个类。同时,如果想要为类添加一些功能,可以选择继承或实现 Laravel 的一些类(例如门面类),但这不是必须的。

此外,根据代码提供的信息,提问者的 save 函数更适合放在模型中而不是外部的帮助类。帮助类只应包含一些简单的方法,比如格式化日期或根据其他值计算某个值。为了减少依赖性并在更改模型时减少错误,帮助类应该包含不使用外部内容(在这种情况下,一个 Eloquent 模型)的简单函数。建议将该函数移动到 Post 模型中,并将其定义为静态函数。

为了以静态方式调用它(使用 ::),需要将函数定义为静态函数,或者使用 Laravel IoC(门面)来完成工作。关于如何以静态方式调用函数的更多信息可以在文档中找到:http://laravel.com/docs/facades

提问者追问了在 Laravel 中如何调用这个函数以及如何从控制器中引用一个帮助函数。回答者解释了如何以静态方式调用函数,并给出了在控制器中引用帮助函数的方法。

最后,提问者追问了如何将函数移动到 Post 模型中。回答者建议将函数移动到模型中,并将其定义为静态函数,然后可以直接调用 $post = Post::create($...)。

0