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

Erro ao executar phan

Quando executa o phan ainda dá essa mensagem:

analyze ████████████████████████████████████████████████████████████ 100.0% 50MB/51MB .\src\BuscadorDeCursos.php:8 PhanRedefineClass Class \Cemim\BuscadorCursos\BuscadorDeCursos defined at .\src\BuscadorDeCursos.php:8 was previously defined as Class \Cemim\BuscadorCursos\BuscadorDeCursos at src\BuscadorDeCursos.php:8 src\BuscadorDeCursos.php:8 PhanRedefineClass Class \Cemim\BuscadorCursos\BuscadorDeCursos defined at src\BuscadorDeCursos.php:8 was previously defined as Class \Cemim\BuscadorCursos\BuscadorDeCursos at .\src\BuscadorDeCursos.php:8

O código está assim:

<?php

namespace Cemim\BuscadorCursos;

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

class BuscadorDeCursos
{
    private $client;
    private $crawler;

    public function __construct(ClientInterface $client, Crawler $crawler)
    {
        $this->client = $client;
        $this->crawler = $crawler;
    }

    public function buscar(string $url): array
    {
        $resposta = $this->client->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;
    }
}
1 resposta
solução!

Olá! Tudo bem?

A mensagem de erro que você está recebendo indica que a classe BuscadorDeCursos está sendo definida mais de uma vez no mesmo arquivo, o que não deveria acontecer.

Seguem algumas sugestões para resolver esse problema:

  1. Verifique o arquivo BuscadorDeCursos.php: Certifique-se de que não há duplicação acidental da definição da classe dentro do mesmo arquivo. Às vezes, isso pode acontecer se houver algum erro de cópia e colagem.

  2. Verifique o namespace e o caminho do arquivo: O erro menciona caminhos diferentes para a definição da classe, como .\src\BuscadorDeCursos.php e src\BuscadorDeCursos.php. Isso pode indicar um problema com como os caminhos estão sendo interpretados. Verifique se há alguma diferença nos caminhos que pode estar causando essa confusão.

  3. Configuração do Phan: Certifique-se de que seu arquivo de configuração do Phan está correto e que não há referências duplicadas ou incorretas nos diretórios listados para análise.

Espero que essas dicas ajudem a resolver o problema que você está enfrentando.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.