在 Laravel 5 中扩展请求类
我是Laravel的新手(只有经历过Laravel 5,所以这里没有遗产挂断)
我想知道如何扩展核心请求类。除了如何扩展它之外,我想知道这样做是否是一个明智的设计决策。
我已经通读了文档(特别是关于注册服务提供商以及它为依赖容器中的条目提供Facades访问权限的方式) - 但我可以看到(并发现)没有办法用我自己的实例替换实例\Illuminate\Http\Request
我是Laravel的新手(只有经历过Laravel 5,所以这里没有遗产挂断)
我想知道如何扩展核心请求类。除了如何扩展它之外,我想知道这样做是否是一个明智的设计决策。
我已经通读了文档(特别是关于注册服务提供商以及它为依赖容器中的条目提供Facades访问权限的方式) - 但我可以看到(并发现)没有办法用我自己的实例替换实例\Illuminate\Http\Request
这是官方文档:请求生命周期
应用程序/Http/自定义请求的内容.php
<?php namespace App\Http;
use Illuminate\Http\Request as BaseRequest;
class CustomRequest extends BaseRequest {
// coding
}
将此行添加到公共/索引.php
$app->alias('request', 'App\Http\CustomRequest');
后
app = require_once __DIR__.'/../bootstrap/app.php';
更改公共/索引处的代码.php
Illuminate\Http\Request::capture()
自
App\Http\CustomRequest::capture()
我今天正在研究同样的问题,我认为值得一提的是,你可能会改变
Illuminate\Http\Request::capture()
自
App\Http\CustomRequest::capture()
无需添加行
$app->alias('request', 'App\Http\CustomRequest');
因为内部方法 laravel 实际上将提供的类绑定到服务容器,并将“request”作为键capture()