首页 > 解决方案 > Laravel 控制器:覆盖父请求验证

问题描述

我有一个结构,它的基本控制器称为BaseController所有控制器都对其进行扩展,并且它具有index()查看资源的实现,基本控制器使用默认请求验证,我需要在一个孩子中覆盖它。

当我运行以下代码时,我收到以下错误:

Declaration of ...PostController::index(...PostRequest $request) should be compatible with ...BaseController::index(...Request $request)

家长:

/* BaseController.php */

namespace App\Http\Controllers;

use Illuminate\Http\Request;

abstract class BaseController extends Controller
{    

    public function index(Request $request)
    {
        // logic
    }

}

孩子:

/* PostController.php */

namespace App\Http\Controllers\App;

use Illuminate\Http\PostRequest;

class PostController extends BaseController
{    

    public function index(PostRequest $request)
    {
        // logic
    }

}

标签: laravelvalidationcontrollerrequest

解决方案


推荐阅读