Laravel - 使用类似Auth的类

时间:2015-02-16 20:52:07

标签: laravel-5

我有一个课程帖子。创建了模型,Restfull资源控制器 现在我在我的资源控制器中实现了show功能 因此,如果有人路由到/post/234234,他会自动查看帖子。

但是现在我想在自己身上创建一个新的静态函数。我们称之为myFunction()。我不喜欢一直交出id。是不是有可能创建一个对象或类似的东西,所以我可以像Post::myFunction()一样使用它,而不是一直移交id。

它类似于Auth类。我的意思是我可以检查用户是否像Auth::check()一样登录。

更新
让我们更清楚地描述它。这是我的PostController @ show:

public function show($id)
{

    //Get board information
    $post = Post::find($id);    

    //Return view
    return view('post')->with(array(
        'posts' => $post
    ));
}

它只显示帖子。在我看来,我有一个名为Follow up的按钮。如果他还没有跟进帖子,我只想表现出来。现在我想要编辑模型Post.php并添加一个静态函数followed(),这样我就可以在视图中执行此操作:

@if(Post::followed())
    <button>Follow up</button>
@endif

1 个答案:

答案 0 :(得分:0)

是。您只需创建一个静态函数:

public static function myFunction(){

}

请注意,此函数将在静态上下文中调用,因此您没有$this可用。

或者你可以创建一个Facade(Auth是一个Facade)。这个过程在documentation about facades

中有很好的描述

至于你的具体情况,我甚至不认为需要静态方法。由于您将$post传递给视图,因此您只需添加常规公共方法:

public function isFollowing(){

}

然后在你看来这样做:

@if(!$post->isFollowing())
    <button>Follow up</button>
@endif