como esta aula é claramente bem antiga fiz do meu modo, quero saber se também ficou correto e usei outro site porque o site da alura mudou muito.
`busca-cursos.php
<?php
require 'vendor/autoload.php';
require 'src/Model/Buscador.php';
use Alura\BuscadorDeCursos\Model\Buscador;
use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;
$cliente = new Client(['base_uri' => 'https://books.toscrape.com']);
$crawler = new Crawler();
$buscardor = new Buscador($cliente, $crawler);
$livros = $buscardor->buscar('https://books.toscrape.com');
foreach ($livros as $livro) {
echo $livro . PHP_EOL;
}`.
``Buscador.php
<?php
namespace Alura\BuscadorDeCursos\Model;
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);
$elementosLivros = $this->crawler->filter('article.product_pod h3 a');
$livros = [];
foreach ($elementosLivros as $elemento) {
$livros[] = $elemento->textContent;
}
return $livros;
}
}