首页 > 解决方案 > 在 Laravel 中创建接口,我不能在函数中为其父子类子类

问题描述

所以我有一种自定义表单请求,例如 MakeTeaRequest 或 MakeCoffeeRequest。这个自定义表单请求扩展了 MakeDrinkRequest。

在我正在创建的新界面中,我想定义一个可以接受 MakeDrinkRequest 的任何子级的函数,因此我做了以下操作:

Interface DrinkControllerInterface
{

    public function store(MakeDrinkRequest $request);
    ...

但是,在我实现 DrinkControllerInterface 的类中,当我编写 store 函数时,我的 IDE 中出现以下错误:

public function store(MakeTeaRequest $request)

声明必须与 DrinkControllerInterface->store(request: \App\Http\Requests\MakeDrinkRequest) 兼容

从设计的角度来看,我是否以错误的方式解决了这个问题?或者我可以做些什么来允许该类的任何孩子被父类替换?

标签: phplaravelinheritance

解决方案


推荐阅读