3
respostas

uncaught error class Crawler not found (Consultei o fórum)

Olá Estou recebendo o seguinte erro ao tentar rodar o file buscar-cursos.php na tentativa de obter a lista de cursos.

Fatal error: Uncaught Error: Class 'Symfony\Component\DomCrawler\Crawler' not found in C:\xampp\htdocs\alura\php\composer\buscar-cursos.php:13

Percebi que outros colegas já passaram pelo mesmo problema e chequei alguns caso solucionados, mas que não deram certo comigo. Caso de outro colega

PHP versão 7.4 - Sem uso do xampp Windows 10

Meu arquivos:

{
    "name": "vdavidmarques/buscador-cursos",
    "description": "Projeto que busca os cursos no site da Alura",
    "type": "library",
    "require": {
        "guzzlehttp/guzzle": "^7.4",
        "symfony/dom-crawler": "^7.4.1"
    }
}
<?php
    require 'vendor/autoload.php';

    use GuzzleHttp\Client;
    use Symfony\Component\DomCrawler\Crawler;

    $client = new Client(['verify' => false]);

    $resposta = $client ->request('GET', 'https://www.alura.com.br/cursos-online-programacao/php');

    $html = $resposta->getBody();

    $crawler = new Crawler();
    $crawler->addHtmlContent($html);

    $cursos = $crawler->filter('span.card-curso__nome');

    foreach ($cursos as $curso){
        echo $curso->textContent . PHP_EOL;
    }

Obs: mesmo colocando na versão igual aos da aula não deu certo. De qualquer modo, obrigado

3 respostas

Vinícius, seu composer install rodou sem problemas?

Aqui está minha tela cmd com os resultados:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Seu composer.json parece está errado. Por que está solicitando a versão 7.4.1 do dom-crawler sendo que ela nem existe?