Domanda

Sto encoutering un problema, ma davvero non capisco perché!

Ottengo questo errore quando si avvia Symfony (tramite front controller o CLI)

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

Il problema è l'override del metodo registerContainerConfiguration.

E 'la firma di è definito in Symfony \ Framework \ Kernel:

abstract public function registerContainerConfiguration(LoaderInterface $loader);

Il mio metodo sovrascritti aspetto:

// 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;
}

La mia domanda: Che cosa sta realmente accadendo qui? Io davvero non riesco a capire l'errore perché le firme di metodo sono esattamente gli stessi.

Questo è accaduto dopo un SRV / vendor / symfony aggiornare all'ultima di GitHub symfony / symfony.

È stato utile?

Soluzione

Qui ce l'ho!

Ci scusiamo per il rumore, ma ho appena scoperto il mio errore.

Il tipo di hinting fatta su LoaderInterface $ caricatore deve essere un

Symfony\Component\DependencyInjection\Loader\LoaderInterface;

e Io sto usando un

Symfony\Components\DependencyInjection\Loader\LoaderInterface

Il problema è apparso dal http://github.com/symfony/symfony/commit/bf82cf42dda099f8c0b6648b7dbd8e8ea7397c1e

Vergogna su di me, perché ero a conoscenza di questo (è stato annunciato int lista symfony-devs).

Il problema è che PHP interpretr non ti avvisa quando si tenta di utilizzare una classe inexisiting.

O forse ho perso qualcosa?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top