【问题标题】:override dependency inversion laravel 5覆盖依赖反转laravel 5
【发布时间】:2017-01-06 18:02:44
【问题描述】:

我有这样的RequestInterface.php

    <?PHP
namespace App\Http\Requests;

interface RequestInterface {

}

和抽象类Request.php

<?php namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;


abstract class Request extends FormRequest implements RequestInterface {

    //
}

我有从Request.php 延伸的PagesRequest.php

<?php namespace App\Http\Requests;

use App\Helpers\Helpers;

class PageRequest extends Request implements RequestInterface  {

在控制器中,我必须注入 PageRquest 并覆盖 CrudController 类的 edit() 方法并检查另一个类中的注入,如下所示:

PageController.php:

protected function update( $id, PageRequest $request){
    parent::update( $request, $id);
}

我必须检查注入的类才能拥有 RequestInterface 的文件:

   protected function update($id, RequestInterface $request)
    {
}

但我有这个错误

App\Http\Controllers\PagesController::update() 的声明应该 兼容 App\Http\Controllers\MasterController\CrudController::update($id, App\Http\Requests\RequestInterface $request)

父类Request实现RequestInterfacePageRequest扩展Request所以PageRequestRequestInterface接口但我得到这个错误。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    您已经交换了更新方法的参数。父类中的方法需要第二个参数槽中的 $request 对象 - 当您从子类中调用它时,您将它传递给第一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-18
      • 2018-11-01
      • 2020-04-12
      • 2023-03-10
      • 2021-03-02
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多