0
respostas

[Sugestão] Aula muito datada

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;
}

}