Solucionado (ver solução)
Solucionado
(ver solução)
15
respostas

PHP Fatal error: Uncaught Error: Class "Alura\Pdo\Infrastructure\Persistence\ConnectionCreator" not found

Boa tarde, segue meu código:

<?php



use Alura\Pdo\Domain\Model\Student;
use Alura\Pdo\Domain\Repository\PdoStudentRepository;
use Alura\Pdo\Infrastructure\Persistence\ConnectionCreator;

require_once 'vendor/autoload.php';

$connection = ConnectionCreator::createConnection();
$studentRepository = new PdoStudentRepository($connection);

$connection->beginTransaction();
$aStudent = new Student(
            null,
            'Nico Steppat',
            new DateTimeImmutable('1985-05-01'),
);

$studentRepository->save($aStudent);

$anotherStudent = new Student(
    null,
    'Sergio Lopes',
    new DateTimeImmutable('1985-05-01'),
);

$studentRepository->save($anotherStudent);

$connection->commit();

Ele está apresentando o seguinte erro:

PHP Fatal error: Uncaught Error: Class "Alura\Pdo\Infrastructure\Persistence\ConnectionCreator" not found in C:\Users\thauan.silva\Desktop\Alura\Formação-Avançando-com-PHP\php-pdo-projeto-inicial\criar-turma.php:11 Stack trace: #0 {main} thrown in C:\Users\thauan.silva\Desktop\Alura\Formação-Avançando-com-PHP\php-pdo-projeto-inicial\criar-turma.php on line 11

Fatal error: Uncaught Error: Class "Alura\Pdo\Infrastructure\Persistence\ConnectionCreator" not found in C:\Users\thauan.silva\Desktop\Alura\Formação-Avançando-com-PHP\php-pdo-projeto-inicial\criar-turma.php:11 Stack trace: #0 {main} thrown in C:\Users\thauan.silva\Desktop\Alura\Formação-Avançando-com-PHP\php-pdo-projeto-inicial\criar-turma.php on line 11

15 respostas

Olá, Thauan! Tudo bem?

Verifique se o nome "Infrastructure" está dessa forma no namespace, verifique se a pasta está escrita dessa forma também.

Tudo tranquilo e por aí?

Aparenta estar com a mesma nomenclatura.

Nome da Pasta: Infrastructure Namespace: use Alura\Pdo\Infrastructure\Persistence\ConnectionCreator; namespace na classe ConnectionCreator.php :Alura\Pdo\Infrastructure\Persistence;

Tem como mandar foto da pasta do projeto?

Não estou conseguindo anexar imagem e nem copiar, acho que ta bugado.

Fica enviando a imagem 100% mas não sobe.

Você consegue subir o projeto pro github e me mandar?

O meu apresentou o mesmíssimo erro, após avançar no curso, cheguei na parte de tratamentos de Erro, fui testar e o meu código não ta passando da linha 9: $connection = CriadorConexao::criarConexao(); Aparece no Console de Depuração PHP Fatal error: Uncaught Error: Class "ProjetoPessoal\Infraestrutura\Persistencia\CriadorConexao" not found in C:\Estudos\PHP\phpPDO\testeSoltodoRepositorio.php:9 Stack trace: #0 {main} thrown in C:\Estudos\PHP\phpPDO\testeSoltodoRepositorio.php on line 9.

Utilizei o: use ProjetoPessoal\Infraestrutura\Persistencia\CriadorConexao;

sendo o Namespace da minha classe de conexão: namespace ProjetoPessoal\Infraestrutura\Persistencia;

(Não consegui anexar as img aqui também) Fiz upload delas no IM.GE: https://i.im.ge/2024/01/16/Ylq0Iq.Capturar2.png https://i.im.ge/2024/01/16/YlqiMC.Capturar.png

Igor, olhando os prints, vi que você não tem o arquivo composer.json configura o autoload nele de acordo com a psr-4, a partir disso abra o terminal na pasta do projeto e rode um composer dumpautoload e veja se resolve.

Segue no canto inferior o comando que me pediu, no canto superior esquerdo o conteúdo do meu arquivo composer.json (A pasta estava minimizada na outra imagem) https://i.im.ge/2024/01/16/Ylss3c.composer.png. Não deu erro nenhum até agora, estou bem surpreso honestamente falando

Bom dia, Vinicius.

Segue o link no github:

https://github.com/thauand2/alura_php

At.te,

solução!

Thauan, o erro está na pasta Infrastructure. Ela deve estar dentro da pasta src, pois o autoload configurado aponta para ela.

Você movendo a pasta Infrastructure da raiz do projeto para a dentro da pasta src deve resolver o problema.

Igor, o seu código funcionou?

Olhando o seu print vi que você criou o arquivo composer.json dentro da pasta vendor, mas por padrão este arquivo deve ficar na raiz do projeto. Dá uma olhada nesta aula:

https://cursos.alura.com.br/course/php-composer/task/56140

Vinicius, problema resolvido!

Era isso mesmo, obrigado!

Obrigado Vinicius, tmj

Bons estudos pessoal! :)