我可以在Laravel 5中创建一个预控制器挂钩

时间:2016-05-06 12:51:01

标签: php laravel

我是laravel的新手,刚刚开始构建我的第一个laravel应用程序(v.5.2)。我来自codeigniter。在CI中,我用来创建一个预控制器挂钩来检查登录状态并在任何控制器加载之前设置语言。应用范围的东西。

我无法在laravel文档中的预控制器挂钩上找到任何内容。有一种叫做#34;中间件"然而,这可能会起到作用。这个中间件在什么时候开始? 我在正确的轨道上吗?还是有更好的方式在laravel做这些工作。

3 个答案:

答案 0 :(得分:1)

是的,你可以用中间件做到这一点。 中间件将在执行控制器方法之前执行。

虽然我建议您创建一个基本控制器,您可以在其中创建一个方法来执行此操作并从基类的构造函数中调用该方法。

修改

所以我只是想知道您是否要检查用户是否已登录。为此您需要auth中间件。

答案 1 :(得分:0)

是的,中间件是最好的选择。我正在使用Auth Middleware在我的应用程序中实现这种功能。

如下所示。

public function __construct()
    {
        $this->middleware('auth' , ['except' => ['show']]);        
        parent::__construct($this);
    }

在此,我想授予仅在不登录时显示操作的权限。

您还可以使用表单请求来检查每个操作的权限/身份验证。

答案 2 :(得分:0)

对于Laravel 5#(5.2)

您可以查看App\Http\Controllers\Controller

实际上所有其他控制器都扩展了这个基本控制器。

问题: 1.如果在这种情况下路由不使用控制器则不起作用。