在Laravel 5中扩展Request类

nin*_*uin 11 php laravel laravel-5

我是Laravel的新手(只有经验丰富的Laravel 5,所以这里没有遗留问题)

我想知道如何扩展核心Request类.除了如何扩展它之外,我想知道这样做是否是一个明智的设计决定.

我已经广泛阅读了文档(特别是关于注册服务提供者以及它提供Facade访问依赖容器中条目的方式) - 但是我可以看到(并找到)无法\Illuminate\Http\Request用我自己的实例替换实例

G4L*_*4Li 29

这是官方文件:请求生命周期

app/Http/CustomRequest.php的内容

<?php namespace App\Http;

use Illuminate\Http\Request as BaseRequest;

class CustomRequest extends BaseRequest {
    // coding
}
Run Code Online (Sandbox Code Playgroud)

将此行添加到public/index.php

$app->alias('request', 'App\Http\CustomRequest');
Run Code Online (Sandbox Code Playgroud)

app = require_once __DIR__.'/../bootstrap/app.php';
Run Code Online (Sandbox Code Playgroud)

更改public/index.php中的代码

Illuminate\Http\Request::capture()
Run Code Online (Sandbox Code Playgroud)

App\Http\CustomRequest::capture()
Run Code Online (Sandbox Code Playgroud)

  • 这是有效的,但是我只需要为指定的控制器而不是所有控制器扩展请求,但是这样做,即使我键入基本请求,我也会在所有控制器中获得扩展请求.一些想法? (2认同)