Php 我的laravel课程应该扩展什么?

Php 我的laravel课程应该扩展什么?,php,laravel,laravel-4,Php,Laravel,Laravel 4,根据这些答案中的建议: 我已经创建了一个文件app/library/sitehelopers.php,并将其添加到应用程序中。我的类应该扩展什么,如何在控制器中引用它 <?php class SiteHelpers{ function save($type, $postid, $url, $author, $content) { $post = new Post; $post->type = $type; $

根据这些答案中的建议:

我已经创建了一个文件
app/library/sitehelopers.php
,并将其添加到应用程序中。我的类应该扩展什么,如何在控制器中引用它

<?php

    class SiteHelpers{

    function save($type, $postid, $url, $author, $content)
    {
        $post = new Post;
        $post->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);
        } 
    }
}

但是找不到我的get Controller方法。

您不必扩展任何东西,就可以在laravel中使用您的类。 只要您的文件位于composer require路径中,您的类就会被laravel加载

您可以扩展或实现一些laravel的类来添加一些功能性(例如facades),但这不是必需的

此外,根据您提供的代码,save函数更多地属于模型,而不是外部帮助器。助手必须只包含简单的方法,如格式化日期或基于其他值计算某些值。您的助手必须包含不使用外部内容的简单函数(在本例中,是一个雄辩的模型),以便更无依赖性(并且在更改该模型时更不容易出错)。尝试将其移动到Post模型(作为静态函数)


编辑:为了静态地调用它(使用::),您必须使您的函数也是静态的,或者使用laravelioc(facade)为您完成这项工作。(文档中的更多信息:)

好的,这在laravel中是什么?而且,如果这是一个帮助函数,我将如何从控制器引用它?编辑以增加有关如何以静态方式调用函数的精确度。非常感谢,最后一次跟进。如何将其移动到后期模型?我最初是在寻找它,但没有找到任何东西……只需将函数移动到模型中,然后将其设置为静态(并将名称更改为更合适的名称,如create)。然后您可以调用$post=post::create($…)。
public function savepostController($type, $postid, $url, $author, $content)
{
    SiteHelpers::save($type, $postid, $url, $author, $content);
}