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

Problema Proxies

Ola galera,

Estou com um problema ao tentar fazer a função "APAGAR" funcionar. Meu histórico:

Deprecated: Function ReflectionType::__toString() is deprecated in /Users/dudumissono/Sites/alura_gerenciador_cursos/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php on line 1026
PHP Deprecated:  Function ReflectionType::__toString() is deprecated in /Users/dudumissono/Sites/alura_gerenciador_cursos/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php on line 1026

RESOLVIDO com o update do Composer.

Depois tive o seguinte problema e não consegui resolver.

Warning: require(/var/tmp/__CG__AluraCursosEntityCurso.php): failed to open stream: No such file or directory in /Users/dudumissono/Sites/alura_gerenciador_cursos/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php on line 204

Fatal error: require(): Failed opening required '/var/tmp/__CG__AluraCursosEntityCurso.php' (include_path='.:') in /Users/dudumissono/Sites/alura_gerenciador_cursos/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php on line 204

Lendo os outros posts corrigi o cli-config e mesmo assim o erro persiste. Vcs tem alguma ideia do que pode ser?

Abs Dudu

8 respostas

Olá, Eduardo.

Você rodou o comando php vendor/bin/doctrine orm:generate-proxies? Geralmente ele resolve esse problema. :-)

Oi Vinicius, td bom?

Quando eu fiz o ora:generate-proxies

Processing entity "Alura\Armazenamento\Entity\Usuario" Processing entity "Alura\Cursos\Entity\Curso"

Proxy classes generated to "/private/var/folders/9d/3j4_l8nx6k1frywg5mtb0dlr0000gp/T"

E o erro continua rolando.

Abs

Consegue mandar seu cli-config.php e o código que cria o EntityManger aqui pra eu conferir, pfv?

Oi Vinicius, td bom?

Segue cli-config.php:

<?php

use Alura\Cursos\Infra\EntityManagerCreator;
use Doctrine\ORM\Tools\Console\ConsoleRunner;

require_once __DIR__ . '/vendor/autoload.php';

return ConsoleRunner::createHelperSet(
    (new EntityManagerCreator())->getEntityManager()
);

Segue EntityManagerCreator.php:

<?php

namespace Alura\Cursos\Infra;

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

class EntityManagerCreator
{
    public function getEntityManager(): EntityManagerInterface
    {
        $paths = [__DIR__ . '/../Entity'];
        $isDevMode = false;

        $dbParams = array(
            'driver' => 'pdo_mysql',
//            'path' => __DIR__ . '/../../db.sqlite'
            'host' => 'localhost',
            'dbname' => 'gerenciador_cursos',
            'user' => 'root',
            'password' => 'minhasenha'
        );

        $config = Setup::createAnnotationMetadataConfiguration(
            $paths,
            $isDevMode
        );
        return EntityManager::create($dbParams, $config);
    }
}

Abs

Eduardo, sendo muito sincero, não to vendo nenhuma possível causa do problema. Vou arriscar um chute: Roda os comandos pra limpar o cache do Doctrine aí. Os comandos são:

  • orm:clear-cache:metadata
  • orm:clear-cache:query
  • orm:clear-cache:region:collection
  • orm:clear-cache:region:entity
  • orm:clear-cache:region:query
  • orm:clear-cache:result

Oi Vinicius,

Eu fiz e deu o seguinte resultado:

// Clearing all Metadata cache entries

[OK] Successfully deleted cache entries.

Duduzinho:alura_gerenciador_cursos dudumissono$ php vendor/bin/doctrine orm:clear-cache:query

// Clearing all Query cache entries

[OK] Successfully deleted cache entries.

Duduzinho:alura_gerenciador_cursos dudumissono$ php vendor/bin/doctrine orm:clear-cache:region:collection

In CollectionRegionCommand.php line 92:

No second-level cache is configured on the given EntityManager.

orm:clear-cache:region:collection [--all] [--flush] [--] [ [ []]]

Duduzinho:alura_gerenciador_cursos dudumissono$ php vendor/bin/doctrine orm:clear-cache:region:entity

In EntityRegionCommand.php line 90:

No second-level cache is configured on the given EntityManager.

orm:clear-cache:region:entity [--all] [--flush] [--] [ []]

Duduzinho:alura_gerenciador_cursos dudumissono$ php vendor/bin/doctrine orm:clear-cache:region:query

In QueryRegionCommand.php line 92:

No second-level cache is configured on the given EntityManager.

orm:clear-cache:region:query [--all] [--flush] [--] []

Duduzinho:alura_gerenciador_cursos dudumissono$ php vendor/bin/doctrine orm:clear-cache:result

// Clearing all Result cache entries

[OK] Successfully deleted cache entries.

Infelizmente não rolou. Estava pensando no que difere meu código do da aula, pois estou adaptando e fazendo funcionar um pouquinho diferente, e fiz um ajuste no código nos caminhos das URL amigáveis e vou corrigir para ver se é isso.

Te retorno.

Abs Dudu

Fico no aguardo, Eduardo.

solução!

Oi Vinicius, td bom?

O problema foi uma das adaptações que fiz mesmo. Eu estava fazendo a minha visualização no navegador, mas com o servidor que eu já tinha configurado aqui. Os caminhos que passávamos nas views (tipo o /novo-curso) não funcionavam, então eu tratei a string para completar a URL. Ao limpar o curso e rodar no servidor do php funcionou perfeitamente.

Desculpe o vai e vem e obrigado pela atenção. Abs Dudu

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