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

Erro no console Parse error: syntax error, unexpected ':', expecting ';' or '{'

Tenho um erro no console ao digitar: vendor\bin\doctrine.bat "Parse error: syntax error, unexpected ':', expecting ';' or '{' in C:\wamp64\www\corretor\src\Helper\EntityManagerFactory.php on line 19"

<?php


namespace Corretor\Web\Helper;


use Doctrine\ORM\EntityManager;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\ORMException;
use Doctrine\ORM\Tools\Setup;

class EntityManagerFactory
{

    /**
     * @return EntityManagerInterface
     * @throws ORMException
     */
    public function getEntityManager() : EntityManagerInterface
    {
        $rootDir = __DIR__ . '/../..';
        $config = Setup::createAnnotationMetadataConfiguration(
            [$rootDir . '/src'],
            true
        );
        $connection = [
            'driver' => 'pdo_mysql',
            'host' => 'localhost',
            'dbname' => 'bancocorretor',
            'user' => 'root',
            'password' => ''
        ];
        return EntityManager::create($connection, $config);
    }
}

Alguém tem alguma ideia?

3 respostas

Guilherme, qual é a linha 19?

Qual a sua versão do PHP?

Olá guilherme esse é meu arquivo EntityManagerFactory

<?php

namespace Alura\Doctrine\Helper;

use Doctrine\ORM\EntityManager;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\Tools\Setup;

class EntityManagerFactory
{
    /**
     * @return EntityManagerInterface
     * @throws \Doctrine\ORM\ORMException
     */
    public function getEntityManager(): EntityManagerInterface
    {
        $rootDir = __DIR__ . '/../..';
        $config = Setup::createAnnotationMetadataConfiguration(
            [$rootDir . '/src'],
            true
        );
        $connection = [
            'driver' => 'pdo_sqlite',
            'path' => $rootDir . '/var/data/data.sqlite'
        ];
        return EntityManager::create($connection, $config);
    }
}

copie e cole no seu para ver se o problema resolve

solução!

Pessoal obrigado pela ajuda!

Meu arquivo estava certo, o problema é que meu Composer reconheceu um php 5.x aí não estava reconhecendo determinadas sintaxes dos meus arquivos, e dava pau.

** Solução: Reinstalei o composer a apontei ele para uma versão mais nova, no caso, 8.0. **