I'm working on a CMS based on Zend Framework 3.0 to manage a DB I with Doctrine. What is my problem when managing packages with composer? Recently, I updated all the packages to newest versions and sent it to server, nothing was changed in other files. After the update my site displayed the following error:
Fatal error: Uncaught TypeError: Return value of Doctrine\Common\Annotations\AnnotationRegistry::registerLoader() must be an instance of Doctrine\Common\Annotations\void, none returned in /home/platne/serwer18346/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php:117 Stack trace: #0 /home/platne/serwer18346/vendor/doctrine/doctrine-module/src/DoctrineModule/Module.php(57): Doctrine\Common\Annotations\AnnotationRegistry::registerLoader(Object(Closure)) #1 /home/platne/serwer18346/vendor/zendframework/zend-modulemanager/src/Listener/InitTrigger.php(33): DoctrineModule\Module->init(Object(Zend\ModuleManager\ModuleManager)) #2 /home/platne/serwer18346/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Zend\ModuleManager\Listener\InitTrigger->__invoke(Object(Zend\ModuleManager\ModuleEvent)) #3 /home/platne/serwer18346/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\ModuleManager\ModuleEvent)) #4 /home/p in /home/platne/serwer18346/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php on line 117
Some application code if needed:
modules:
return [ 'Zend\Router', 'Zend\Validator', 'DoctrineModule', 'DoctrineORMModule', 'Core', ]; development.local(developer mode is active):
'doctrine' => [ 'connection' => [ 'orm_default' => [ 'driverClass' => Doctrine\DBAL\Driver\PDOMySql\Driver::class, 'params' => [ 'host' => '******', 'user' => '*******', 'password' => '******', 'dbname' => '*******', 'charset' => 'utf8' ] ] ] ] module.config:
'doctrine' => [ 'driver' => [ __NAMESPACE__ . '_driver' => [ 'class' => AnnotationDriver::class, 'cache' => 'array', 'paths' => [__DIR__.'/../src/Model'] ], 'orm_default' => [ 'drivers' => [ __NAMESPACE__ . '\Model' => __NAMESPACE__ . '_driver' ] ] ] ] Controller Factory:
public function __invoke(ContainerInterface $container,$requestedName, array $options = null) { $controllerInstance = null; switch($requestedName){ case 'Core\Controller\IndexController': $controllerInstance = $this->_invokeIndex($container); break; case 'Core\Controller\PagesController': $controllerInstance = $this->_invokePages($container); break; } return $controllerInstance; } protected function _invokeIndex(ContainerInterface $container) { return new Controller\IndexController( $container->get('doctrine.entitymanager.orm_default') ); } protected function _invokePages(ContainerInterface $container) { return new Controller\PagesController( $container->get('doctrine.entitymanager.orm_default') ); } Controller Parent:
protected $_entityManager; /** * AppController constructor. * @param EntityManager $entityManager */ public function __construct(EntityManager $entityManager) { $this->_entityManager = $entityManager; } /** * @return EntityManager */ public function getEntityManager() { return $this->_entityManager; } As I said this code worked before update. After update it show me that error, what is more after uploading previous versions the error remains. I triead rewriting code but with the same effect.
Composer(without project data):
"require": { "zendframework/zend-mvc": "*", "zendframework/zend-developer-tools": "*", "zendframework/zend-session": "*", "zendframework/zend-authentication": "*", "zfcampus/zf-development-mode": "*", "doctrine/doctrine-orm-module": "*" }, "autoload": { "psr-4": { "Core\\": "module/Core/src/" } }