1
resposta

Parse error: syntax error, unexpected 'ClientInterface'

Meu código aparentemente está igual ao do instrutor e o seguinte erro está aparecendo:

Parse error: syntax error, unexpected 'ClientInterface' (T_STRING), expecting variable (T_VARIABLE) in C:\wamp64\www\buscadordecursos\src\Buscador.php on line 13

Classe Buscador

<?php

namespace Alura\BuscadorDeCursos;

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

class Buscador
{
    /**
     * @var ClientInterface
     */
    private ClientInterface $httpClient;

    /**
     * @var Crawler
     */
    private Crawler $crawler;

    /**
     * @param ClientInterface $httpClient
     * @param Crawler $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);

        $elementos = $this->crawler->filter('span.card-curso__nome');
        $cursos = [];

        foreach($elementos as $elemento) {
            $cursos[] = $elemento;
        }
        return $cursos;
    }
}

buscar-cursos.php

<?php

require 'vendor/autoload.php';
require 'src/Buscador.php';

use Alura\BuscadorDeCursos\Buscador;
use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;



$httpClient = new Client();

$crawler = new Crawler();

$buscador = new Buscador($httpClient, $crawler);
$cursos = $buscador->buscar('https://www.alura.com.br/cursos-online-programacao/php');

foreach ($cursos as $curso) {
    echo $curso . PHP_EOL;
}
1 resposta

Qual é a versão do seu PHP?