Bom dia. Fiz o código exatamente igual o da aula e me aparece esse erro:
Expected type 'GuzzleHttp\ClientInterface'. Found 'GuzzleHttp\Client'.
O que poderia ser?
o código abaixo
buscar-cursos.php
<?php
require "vendor/autoload.php";
require "src/Buscador.php";
use Alura\BuscadorDeCursos\Buscador;
use \GuzzleHttp\Client;
use \Symfony\Component\DomCrawler\Crawler;
$cliente = new Client(['base_uri' => 'https://www.alura.com.br/']);
$crawler = new Crawler();
$buscador = new Buscador($cliente, $crawler);
$cursos = $buscador->buscar('cursos-online-programacao/php');
foreach ($cursos as $curso) { //faz a lista e exibe na tela.
echo $curso->textContent . PHP_EOL;
}
Buscador.php
<?php
namespace Alura\BuscadorDeCursos;
use \GuzzleHttp\ClientInterface;
use \Symfony\Component\DomCrawler\Crawler;
class Buscador{
private $httpClient;
private $crawler;
public function __construct(ClientInterface $httpClient, Crawler $crawler)
{
$this->httpClient = $httpClient;
$this->crawler = $crawler;
}
public function buscar(string $url) : array
{
$resposta = $this->httpClient->request('GET', $url);
$html = $resposta->getBody();
$this->crawler->addHtmlContent($html);
$elementoCurso = $this->crawler->filter('span.card-curso__nome');
$cursos = [];
foreach ($elementoCurso as $elemento) {
$cursos[] = $elemento->textContent;
}
return $cursos;
}
}
Obrigado.