2016-06-29 2 views
0

Mein Wissen über PHP Composer ist nicht mehr als einfach, aber ... Ich habe das Zend Framework 3.0.0dev MVC skeleton app heruntergeladen und installiert und wollte herausfinden, ob ich das Doctrine ORM module zusammen mit ihm installieren könnte. composer require doctrine/doctrine-orm-module beschwert sich überist es möglich, Doktrin orm Modul mit ZF3 Skelett App zu installieren?

Problem 1 
- Installation request for doctrine/doctrine-orm-module ^0.10.0 -> satisfiable by doctrine/doctrine-orm-module[0.10.0]. 
- doctrine/doctrine-orm-module 0.10.0 requires zendframework/zend-mvc ~2.3 -> satisfiable by zendframework/zend-mvc[2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.3.6, 2.3.7, 2.3.8, 2.3.9, 2.4.0, 2.4.0rc1, 2.4.0rc2, 2.4.0rc3, 2.4.0rc4, 2.4.0rc5, 2.4.0rc6, 2.4.0rc7, 2.4.1, 2.4.10, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8, 2.4.9, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.7.0, 2.7.1, 2.7.10, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9] but these conflict with your requirements or minimum-stability. 

so ich ZendFramework/zend-mvc bis 2.7.9 in composer.json versuchen Herabstufung und versuchen Sie es erneut:

Problem 1 
- The requested package zendframework/zend-mvc (installed at 3.0.1, required as 2.7.9) is satisfiable by zendframework/zend-mvc[3.0.1] but these conflict with your requirements or minimum-stability. 
Problem 2 
- zendframework/zend-mvc 2.7.9 conflicts with zendframework/zend-router[3.0.2]. 
- zendframework/zend-mvc 2.7.9 conflicts with zendframework/zend-router[3.0.2]. 
- Installation request for zendframework/zend-mvc 2.7.9 -> satisfiable by zendframework/zend-mvc[2.7.9]. 
- Installation request for zendframework/zend-router (installed at 3.0.2) -> satisfiable by zendframework/zend-router[3.0.2]. 

und ich vermute, dass der Grund, warum ich nicht Komponist machen kann Glücklich ist, dass dies nicht möglich ist - dh, das Doktrin-Modul ist mit ZF3 (noch) nicht kompatibel. Wahr?

Antwort

3

DoctrineORMModule 1.1.0 und DoctrineModule 1.2.0 wurden freigegeben. Diese sollten schließlich ZF3-Kompatibilität hinzufügen.

+0

, das ist alles was ich wissen musste, zur Verfügung stellt. Nachdem ich das gepostet habe, bin ich auf dein aufschlussreiches https://xtreamwayz.com/blog/2015-12-12-setup-doctrine-for-zend-expressive gestoßen und würde damit herumspielen. Ich bin ein Noob zu Expressive und ZF3, aber es sieht so aus, als ob die Konzepte in Ihrem Beitrag denen ähneln, die benötigt werden, um DoctrineORMModule mit ZF3 zu integrieren. – David

+1

Mein Fehler. Sie unterstützen jetzt zend-servicemanager 3 aber noch nicht zend-mvc 3, was für ZF3 benötigt wird. – xtreamwayz

+0

Ich war gerade auf https://github.com/doctrine/DoctrineModule/pull/564 und als ein bisschen wie ein Noob mit allen Dingen git will ich sicherstellen, dass ich das richtig verstanden habe ab sofort (13-sep-2016) Wir stehen immer noch für die ZF3-Unterstützung zur Verfügung. Wahr? – David

1

Problem 1

- Installation request for doctrine/doctrine-orm-module ^0.11.0 -> satisfiable by doctrine/doctrine-orm-module[0.11.0]. 
- doctrine/doctrine-orm-module 0.11.0 requires zendframework/zend-mvc ^2.5.2 -> satisfiable by zendframework/zend-mvc[2.5.2, 2.5.3, 2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.7.0, 2.7.1, 2.7.10, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9] but these conflict with your requirements or minimum-stability. 

Komponisten erfordern Lehre/Lehre-ORM-Modul

installieren auf ZF3-Skelett

1

Es ist ein Paket container-interop-doctrine zur Verfügung, das ist kompatibel mit dem Zend-Service Manger (aufgrund der Container-Interop-Kompatibilität).

Installation und Nutzung ist ziemlich ähnlich dem doctrine/doctrine-orm-module:

composer require dasprid/container-interop-doctrine 

Es kann durch aktiviert werden durch Erstellen einer neuen Datei data/config/autoload/doctrine.global.php:

<?php 

use ContainerInteropDoctrine\EntityManagerFactory; 

return [ 
    'dependencies' => [ 
     'factories' => [ 
      'doctrine.entity_manager.orm_default' => EntityManagerFactory::class, 
     ], 
    ], 

    /** 
    * For full configuration options, see 
    * https://github.com/DASPRiD/container-interop-doctrine/blob/master/example/full-config.php 
    */ 
    'doctrine' => [ 
     'connection' => [ 
      'orm_default' => [ 
       'params' => [ 
        'url' => 'mysql://user:[email protected]/database', 
       ], 
      ], 
     ], 
     'driver' => [ 
      'orm_default' => [ 
       'class' => \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain::class, 
       'drivers' => [ 
        'App\Entity' => 'my_entity', 
       ], 
      ], 
      'my_entity' => [ 
       'class' => \Doctrine\ORM\Mapping\Driver\AnnotationDriver::class, 
       'cache' => 'array', 
       'paths' => 'src/App/Entity/', 
      ], 
     ], 
    ], 
]; 

Einmal aktiviert, können Sie die EntityManger fast bekommen die Die gleiche Weise wie mit der doctrine-orm-module:

$serviceLocator->get('doctrine.entity_manager.orm_default'); 

Die einzige merkliche Änderung ist, dass entity_manger anstelle von enititymanager.

Es gibt eine blog-post für Installation/Verwendung auch.

+0

löst "Dienst kann nicht aufgelöst werden" doctrin.entity_manager.orm_default "in eine Fabrik; sind Sie sicher, dass Sie es bei der Konfiguration angegeben haben?" –

+0

Meine glückliche Annahme wäre, dass Sie den V2 ServiceManager verwenden, während das Beispiel das V3 verwendet. Ich habe vor einiger Zeit ein grobes Beispiel angeführt: https://github.com/funct/composable-expressive – Fge

0

Sie können fanst1109/Lehre-ORM-Modul

composer require fanst1109/doctrine-orm-module 

Es ist ein Zend Framework 3 Modul versuchen, die Lehre ORM Funktionalität

Verwandte Themen