Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro Composer Phan

Quando executo o composer phan, ele me informa de alguns erros no Buscador.php que aparentemente estão corretos.

<?php

namespace Alura\BuscadorDeCursos;

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

class Buscador
{
    /**
     * @var ClientInterface
    */
    private $ClientInterface;
    /**
     * @var Crawler
     */
    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);

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

        foreach ($elementosCursos as $elemento) {
            $cursos[] = $elemento->textContent;
        }

        return $cursos;
    }
}

Mensagem de erro:

PS C:\Users\PICHAU\Documents\Aulas Alura\Aula PHP\Composer\Buscador-cursos-alura> composer phan

phan --allow-polyfill-parser Parsing files... ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 54 / 65 (100%) 50MB ░░░░░░░░░░░ 65 / 65 (100%) 50MB Analyzing classes... ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 52MB Analyzing functions... ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 52MB Analyzing methods... ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 53MB

src\Buscador.php:21 PhanUndeclaredProperty Reference to undeclared property \Alura\BuscadorDeCursos\Buscador->httpClient (Did you mean $httpClient)

src\Buscador.php:22 PhanUndeclaredProperty Reference to undeclared property \Alura\BuscadorDeCursos\Buscador->crawler (Did you mean expr->Crawler or $crawler)

src\Buscador.php:27 PhanUndeclaredProperty Reference to undeclared property \Alura\BuscadorDeCursos\Buscador->httpClient

src\Buscador.php:30 PhanUndeclaredProperty Reference to undeclared property \Alura\BuscadorDeCursos\Buscador->crawler (Did you mean expr->Crawler)

src\Buscador.php:32 PhanUndeclaredProperty Reference to undeclared property \Alura\BuscadorDeCursos\Buscador->crawler (Did you mean expr->Crawler)

Analyzing files... ░ 1 / 1 (100%) 54MB

Script phan --allow-polyfill-parser handling the phan event returned with error code 1 PS C:\Users\PICHAU\Documents\Aulas Alura\Aula PHP\Composer\Buscador-cursos-alura>

1 resposta
solução!

Suas propriedades estão incorretas, Felipe. Você declarou ClientInterface e Crawler mas está tentando acessar httpClient e crawler.