Рюкзак для laravel - ошибка экземпляра Guzzle - PullRequest
0 голосов
/ 28 июня 2018

Я использую рюкзак для laravel, и один из моих модулей выдает ошибку при попытке инициализировать класс веб-API (Guzzle) ... У меня есть этот код:

Контроллер

class ImportacionesCrudController extends CrudController
{
 protected $api;


  public function setup(webApi $api) {


  $this->api = $api;
  dd($this->api->sendValidation());
  }
}

И это экземпляр этого класса:

namespace app\Api;

use GuzzleHttp\Client;

class webApi
{
protected cliente;

function __construct()
{
    #Se inicializa la conecccion al servicio web
    $client = new Client([
       // Base URI is used with relative requests
       'base_uri' => 'https://jsonplaceholder.typicode.com',
       // You can set any number of default request options.
       'timeout'  => 2.0,
    ]);

    $this->cliente = $client;

    #dd($response->getBody()->getContents());
}

public function sendValidation(){
    return $this->cliente->request('GET', 'posts');
}
}

И это дает мне эту ошибку:

Declaration of App\Http\Controllers\Admin\ImportacionesCrudController::setup(App\Api\webApi $api) should be compatible with Backpack\CRUD\app\Http\Controllers\CrudController::setup()

Есть идеи, что случилось? Спасибо за ваше время.

1 Ответ

0 голосов
/ 28 июня 2018

Вы не можете перезаписать метод setUp и добавить аргумент, потому что родительский класс не принимает аргумент в этом методе. Однако вы можете сделать это в конструкторе:

class ImportacionesCrudController extends CrudController
{
    private $api;

    public function __construct(webApi $api) {
        $this->api = $api;
        return parent::__construct();
    }

    public function setUp()
    {
        $this->api->sendValidation();
        ....
...