1
resposta

Atualização de repositório/dependencias

Boa tarde, pessoal.

Estou gostando bastante da Formação de Arquiteto PHP - principalmente desta parte de testes.

Ocorre, porém, que nesse curso em específico (PHP e Behavior Driven Development: BDD com Behat) a instalação das dependências através do Composer esbarra em uma série de problemas.

Primeiramente, como informado em outros tópicos, o repositório sendo utilizado no composer.json para a instalação do Mink (https://github.com/breizh81/Mink.git/) não existe mais. É necessário substituí-lo por https://github.com/minkphp/Mink.

Até aí tudo bem. Outra questão - que ocorreu também nos cursos anteriores desta formação - é quenão há compatibilidade com as versões 8+ do PHP. Sendo assim, é necessário que o aluno atualize manualmente todas as especificações de require do PHP no composer.json e composer.lock para que contemple as novas versões do PHP. Eu comecei o curso utilizando já o PHP 8.1.4 e tive que fazer essas atualizações previamente (também no curso de PHPUnit).

Mas isto não seria problema, visto que são poucas alterações manuais e que funcionaram anteriormente. O problema é que especificamente neste curso, a implementação do dbal não funciona no PHP 8+. Ele fica acusando problema na função query() do PDOConnection quando rodo o comando necessário para o início do projeto (php vendor/bin/doctrine orm:schema-tool:create), alegando:

PHP Fatal error:  Declaration of Doctrine\DBAL\Driver\PDOConnection::query() must be compatible with PDO::query(string $query, ?int $fetchMode = null, mixed ...$fetchModeArgs): PDOStatement|false in ...\PHP e Behavior Driven Development - BDD com Behat\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php on line 73

Tentei atualizar a versão do dbal, tentei adaptar em linha de código a função query(), porém não obtive sucesso de nenhuma maneira, o que acaba sendo um pouco frustrante.

Fica, portanto, minha sugestão de revisão nestes cursos de PHP para que os projetos comportem já de início as novas versões da linguagem.

Muito obrigado pela atenção e bons estudos a todos.

1 resposta

Bom dia @Yan.

Dei um procurada aqui e a maioria dos tópicos seja no próprio github ou no stack over flow, o problema é a questão da compatibilidade com o próprio php8+, pois eu tenho feito alguns cursos de PHP aqui na Alura e percebi que o professor ainda está usando creio que a versão 7.3, pois o php storm pede para atualizar e o usar o php 7.4, onde o mesmo acaba não permitindo para continuar o curso.

Posso estar errado se nesse tópico seu em questão ele tenha atualizado para uma versão mais recente, porém bem duvidoso que mesmo que o assunto seja usado na atualidade os cursos de PHP foram atualizados a última vez em 2020.

link do github com a discussão

Espero ter ajudado e abraços.