原因找到了。因为框架和插件都使用了
vendor/laravel/framework/src/Illuminate/Foundation/Providers/FormRequestServiceProvider.php
vendor/dingo/api/src/Provider/LaravelServiceProvider.php
$this->app->afterResolving(ValidatesWhenResolved::class, function ($resolved) {
$resolved->validateResolved();
});
$this->app->resolving(FormRequest::class, function ($request, $app) {
$request = FormRequest::createFrom($app['request'], $request);
$request->setContainer($app)->setRedirector($app->make(Redirector::class));
});
方案一
回滚到2.2.3版本
方案二
app.php
// Illuminate\Foundation\Providers\FoundationServiceProvider::class,
App\Providers\FoundationServiceProvider::class,
app/providers/FoundationServiceProvider.php
namespace App\Providers;
use Illuminate\Foundation\Providers\FoundationServiceProvider as LaravelFoundationServiceProvider;
class FoundationServiceProvider extends LaravelFoundationServiceProvider
{
/**
* The provider class names.
*
* @var array
*/
protected $providers = [
// FormRequestServiceProvider::class,
];
}
原因找到了。因为框架和插件都使用了
vendor/laravel/framework/src/Illuminate/Foundation/Providers/FormRequestServiceProvider.php
vendor/dingo/api/src/Provider/LaravelServiceProvider.php
$this->app->afterResolving(ValidatesWhenResolved::class, function ($resolved) {
$resolved->validateResolved();
});
$this->app->resolving(FormRequest::class, function ($request, $app) {
$request = FormRequest::createFrom($app['request'], $request);
$request->setContainer($app)->setRedirector($app->make(Redirector::class));
});
方案一
回滚到2.2.3版本
方案二
app.php
// Illuminate\Foundation\Providers\FoundationServiceProvider::class,
App\Providers\FoundationServiceProvider::class,
app/providers/FoundationServiceProvider.php
namespace App\Providers;
use Illuminate\Foundation\Providers\FoundationServiceProvider as LaravelFoundationServiceProvider;
class FoundationServiceProvider extends LaravelFoundationServiceProvider
{
/**
* The provider class names.
*
* @var array
*/
protected $providers = [
// FormRequestServiceProvider::class,
];
}
我重新clone了dinggo/api 封装了一个包放到github上了,也同步到composer中了,去掉了,已经解决了,需要的可以clone 我的包 composer require jameskid/dingo-api-fix-twice v1.0.0, github 地址 https://github.com/JamesKid/dingo-api-fix-..., 需要的可以把composer.json里的包改成我这个。
推荐文章: