Laravel自定义用户特定功能

时间:2015-09-07 11:17:49

标签: php laravel authentication

创建自定义函数以在视图中使用的最佳方法是什么以及如何?我对Laravel很新,即使经过大量的搜索,我也无法理解。

这就是我目前在我的视图中检查用户是否为管理员的方式,例如:

@if (Auth::user()->group === "admin")
    <p>You're an admin</p>
@endif

我需要做什么才能使这个功能成为一个功能,所以我可以这样做呢?

@if (Auth::user()->isAdmin)
    <p>You're an admin</p>
@endif

2 个答案:

答案 0 :(得分:1)

由于Auth::user()会返回User模型的实例,因此您只需在其中添加方法:

// this is in the User class
public function isAdmin()
{
    return $this->group == "admin";
}

然后这样称呼它:

@if (Auth::user()->isAdmin())
    <p>You're an admin</p>
@endif

答案 1 :(得分:1)

User模型中,添加以下方法:

public function inGroup($name)
{
     return $this->group == $name;
}

现在,您可以在模板中执行以下操作:

@if(Auth::user()->inGroup('admin'))
    <!-- User is in the 'admin' group -->
@endif

请注意读取的自然程度:如果用户位于名为“admin”的组中。

随着您的应用程序扩展,您可以保留此单一方法,而不必定义多个方法来检查用户的组(isAdmin,isSubscriber,isPremium等)。

相关问题