Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Diferença entre ConnectionCreator e new ConnectionCreator

Vinicius, boa noite !

Cometi um erro e fiz $pdo = new ConnectionCreator::createConnection(); e percebi que não funcionou. Retornava um erro dizendo que esterava uma string ou uma variável.

Percebi que tinha utilizado um new, fiz a poucos dias o treinamento de OO, e ainda estou consolidando o conhecimento à medida que faço outros cursos e os utilizo em projetos. Poderia me explicar pq isso acontece ? Pq não consigo através do new ?

1 resposta
solução

Olá, Paulo.

new é uma palavra reservada do PHP que instancia um novo objeto de uma classe. ConnectionCreator::createConnection() é a chamada de um método estático que já instancia o objeto para você (lá dentro tem o new). Se você chamar new ConnectionCreator::createConnection() ele vai tentar executar, basicamente isso: new new PDO, o que não faz nenhum sentido, concorda?

Basicamente, por isso o erro. :-)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software