Pregunta

Estoy encoutering un problema, pero realmente no entiendo por qué!

Me sale este error en el lanzamiento de Symfony (a través del controlador frontal o CLI)

PHP Fatal error:  Declaration of ECommerceKernel::registerContainerConfiguration() must be compatible with that of Symfony\Framework\Kernel::registerContainerConfiguration()

El problema es la anulación del método registerContainerConfiguration.

Es la firma se define en Symfony \ Framework \ Kernel:

abstract public function registerContainerConfiguration(LoaderInterface $loader);

mis miradas sobrescritos método como este:

// in ECommerceKernel
public function registerContainerConfiguration(LoaderInterface $loader)
{
    $return = $loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');

    $em = $this->getContainer()->getDoctrine_Orm_EntityManagerService();
    $dm = $this->getContainer()->getDoctrine_Odm_Mongodb_DocumentManagerService();

    $eventManager = $em->getEventManager();
    $eventManager->addEventListener(
        array(\Doctrine\ORM\Events::postLoad), new ECommerceEventSubscriber($dm)
    );

    return $return;
}

Mi pregunta: ¿Lo que realmente está pasando aquí? Realmente no puedo entender el error porque las firmas de los métodos son exactamente los mismos.

Esto sucedió después de un srv / vendor / symfony actualizar a la última de github symfony / symfony.

¿Fue útil?

Solución

Aquí lo tengo!

Lo siento por el ruido, pero acabo de descubrir mi error.

El tipo haciendo alusión hecha en LoaderInterface $ cargador debe ser un

Symfony\Component\DependencyInjection\Loader\LoaderInterface;

y que estaba usando a

Symfony\Components\DependencyInjection\Loader\LoaderInterface

El problema apareció desde http://github.com/symfony/symfony/commit/bf82cf42dda099f8c0b6648b7dbd8e8ea7397c1e

La culpa es mía, porque yo era consciente de esto (se ha anunciado la lista de Symfony int-desarrolladores).

El problema es que PHP interpretr no le avisa cuando intenta utilizar una clase inexisiting.

O tal vez me haya perdido algo?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top