Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-04-2014 11:19:16

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

MVC / best practises / Service manager / config plusieurs DB

Bonjour,

Dans le cadre de mon apprentissage pour maîtriser Zf2, et surtout après avoir lu pas mal de choses,  (merci Orkin :p). Je me suis posé une question :
Avec doctrine, tout ce que je vois dans le cadre de zf2 ne mentionne plus les Modèles, tout se fait dans le contrôleur.
J'ai trouvé cet article ce matin :
http://blog.astrumfutura.com/2008/12/th … preciated/
Que j'ai trouvé magnifique bien qu'il date et qui illustre pour beaucoup mon sentiment que le modèle est en grande partie remplacé par le contrôleur.
Je me demande pourquoi (car je débute en ZF2 et doctrine), et s'il y a une raison, tout est fait dans ce contrôleur.

Mes questions initiales avant de tomber la dessus étaient :
Que faut il changer pour que le model prenne la main ?
Y a t'il une "best practises" pour que le model récupère et utilise les entityManager des connexions à la bdd ?

Merci d'avance pour votre temps.

Dernière modification par JGreco (02-04-2014 10:53:52)


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#2 01-04-2014 12:23:25

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1253

Re: MVC / best practises / Service manager / config plusieurs DB

Salut !

En fait la plupart des tutos sur les framwork MVC sont là pour montrer comment le framework fonctionne et donc :
M pour modèle, dans le cas de ZF2 c'est Zend\Db que l'on peut remplacer par Doctrine
V pour vue, dans le cas de ZF2 c'est le ViewModel avec les templates (automatiques ou non)
C pour contrôleur, dans le cas de ZF2 c'est ce qui se charge de dispatcher ta requête et les données vers la vue

Voila ce que fait le ZF2 c'est tout, après c'est aux développeurs de concevoir des architectures d'applications MVC propres. Typiquement dans le cas de l'exemple du module Album du ZF2 utiliser uniquement le MVC de base suffit largement, il y a à tout casser 2 contrôleurs, un modèle et 2/3 vues donc se prendre la tête pour séparer encore plus les couches (je vais y venir) c'est perdre du temps pour rien.

Maintenant dans une application MVC propre, (tiré de conclusions persos, de recherches, de conseils de collègues plus expérimentés et de contributeurs connu du ZF2 (notamment Bakura pour ne pas le cite :p)) il faut bien séparer les couches !! Et pour ça on ajoute une couche appelée "couche service" qui elle n'a rien à voir avec le ZF2 dans le sens où ce n'est pas un composant. On a des services déjà présents dans le framework comme le service d'authentification mais ce n'est qu'un composant pour simplifier les choses. Dans le cas d'une application et c'est valable pour n'importe quel framework MVC bien conçu, c'est à dire où on peut ajouter facilement une couche service (ou tout autre couche d'ailleurs), il faut découper plus que le MVC.
Si je décompose du plus bas niveau au plus haut niveau on a ceci :
- La couche modèle : c'est les entités rien de plus, cette couche ne connait rien de l'application à part elle même, donc ses modèles (entités).
- La couche DAO (Data Access Object) : c'est la couche qui s'occupe de récupérer les données de la base dans le cas de doctrine elle est représenté par l'entity manager. Il va être capable de faire des requêtes soit automatiquement, soit via les repository (DQL, SQL etc ...) et de retourner un modèle rempli. L'entity manager n'a accès qu'aux modèles c'est tout, il ne sait pas ce que l'application fait ensuite des résultats
- La couche service : elle est là pour interroger la couche DAO, elle sait ce que retourne la couche DAO (le type du modèle ou une collection ou un array) et s'occupe de faire des traitements dessus. Parfois le traitement peut se limiter à l'appel de la requête (findBy) et de faire un return du résultat. Cette couche est très importante mais ne doit pas faire plus que ce pourquoi elle est là. Elle traite les données !! Depuis la base de données, création d'un fichier sur le serveur, calcul d'un algorithme, conversion d'un objet en un autre (si besoin), modification d'un modèle avant de l'insérer (il y a des annotation doctrine qui le font donc pas toujours utile) comme lier l'utilisateur à un article nouvellement créé etc ... La couche service ne connait que la couche DAO (et forcément les modèles) mais ne sait pas ce que l'application fait ensuite de ce que le service retourne. En temps normal le service retourne les informations soit vers un autre service soit vers le contrôleur. L'avantage d'avoir une couche service c'est que ça évite de dupliquer le code. Autre chose importante les services sont là pour lancer des exceptions qui seront catché par le contrôleur pour dispatcher la requête en fonction. Par exemple on upload un fichier (on l'enregistre côté service) et on a pas les droits sur le dossier, le fichier ne pourra donc pas s'enregistrer, là on peut lancer une exception du genre "PermissionDeniedOnFolderException". On peut imaginer plein de choses wink.
- La couche contrôleur : elle va s'occuper de récupérer les données du service pour les transmettre à la vue c'est tout !! Elle traite aussi l'objet Request et les formulaires du moins le getPost() ensuite le retour du formulaire est passé au service qui s'en débrouille. Certain déportent aussi la partie formulaire dans les services (les isValid & co), je trouve que c'est trop découper, le composant formulaire est à la fois lié à l'objet Request et aussi aux modèles donc c'est pas évident de savoir quel est le mieux. Pour ma part je le fais dans les contrôleurs. Une fois les données récupérées depuis les services, le contrôleur les transmet à la vue. Et il ne sait pas non plus ce que fait la vue des données.
- La couche vue : affiche les données.

Voila smile. Si je résume les couches ça donne ça : Modèle < DAO < Service < Contrôleur < Vue

Si t'as des questions wink

Hors ligne

 

#3 01-04-2014 13:14:52

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

Re: MVC / best practises / Service manager / config plusieurs DB

Tout d'abord, merci pour ta réponse, elle est complète mais m’interroge sur plusieurs points.

Dans le projet que je suis en train de monter j'ai un module Application sous cette forme que je viens de modifier selon tes explications, si tu peux me dire si j'ai bon ?

Project
| - config
| - data
| - module
| | - Application
| | | - config
| | | | - module.config.php <------ factories  = EntityManagerFactory qui est dans service pour mon accès à la seconde base de données.
| | | - src
| | | | - Application
| | | | | - Controller
| | | | | - Entity <------------------- Les entités qui correspondent donc à une table dans la base Default anciennement nommé Model
| | | | | - Migration <--------------- Couche permettant de migrer des infos de l'ancienne base (pas aux normes) jusqu’à la base par défaut en les "nettoyant" ->est ce que cela doit être dans Service ?
| | | | | - Service <----------------- Cette couche possède un fichier nommé EntityManagerFactory.php qui implémente FactoryInterface permettant de créer ma deuxième instance de connexion à la bdd.
| | | - test <------------------------- Tests unitaires pour chaque modules
| | | - view
| | | - Module.php

| - public
| - vendor
| - tests
| build.xml

DAO & Service sont dans une seule partie ou il faut les séparer (au niveau implémentation) ?

Mais donc :
Comment je récupère dans la couche Service les EntityManager que seul le contrôleur peut récupérer via getServiceLocator() ? j'y passe en paramètre vers le constructeur  ? Y a t'il une meilleure manière ?

Je te remercie encore pour tous ces éclaircissement.


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#4 01-04-2014 13:46:47

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1253

Re: MVC / best practises / Service manager / config plusieurs DB

Pour la partie migration soit tu la fais directement en SQL via un script soit tu peux faire un module. Honnêtement développer un soft de migration pour la faire qu'une seule fois j'en vois pas trop l'utilité, un bon script de migration SQL fait aussi bien l'affaire big_smile.

Avec doctrine tu t'en soucis pas de la couche DAO puisque c'est l'entity manager donc si tu as une factory qui te créer ta deuxième connexion tu n'as besoin que d'un fichier factory qui va dans le dossier factory big_smile. Par contre tu utilises la couche DAO depuis la couche Service.
Pour passer l'entity manager à la couche service c'est à toi de l'injecter soit le service locator (ServiceLocatorAwareInterface + le trait qui va avec) soit directement l'entity manager en passant par une fabrique. Et non tu ne passes pas le constructeur en paramètre la couche service n'est pas censée savoir ce que fait le contrôleur hors, si tu lui passes, il saura ... Chaque couche ne sait pas ce qu'il se passe après elle.

Hors ligne

 

#5 01-04-2014 14:10:35

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

Re: MVC / best practises / Service manager / config plusieurs DB

Orkin a écrit:

Avec doctrine tu t'en soucis pas de la couche DAO puisque c'est l'entity manager donc si tu as une factory qui te créer ta deuxième connexion tu n'as besoin que d'un fichier factory qui va dans le dossier factory big_smile.

Code:

[lang=php]<?php
/**
 * Cette classe sert à créer l'instance de connexion de la seconde base de donnée, dans
 * le service manager.
 */
namespace Application\Service;

use \Zend\ServiceManager\FactoryInterface;
use \Zend\ServiceManager\ServiceLocatorInterface;
use \Application\Service\Exception\ConfigMissingException;

class EntityManagerFactory implements FactoryInterface
{
    /**
     * @var \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator
     */
    private $serviceLocator;
 
    /**
     * @param \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator
     * @throws \Application\Service\Exception\ConfigMissingException
     * @return \Doctrine\ORM\EntityManager
     */
    public function createService(ServiceLocatorInterface $serviceLocator)
    {
        $this->serviceLocator = $serviceLocator;
        $em = $this->getEntityManager();
        $config = $serviceLocator->get('config');
        if (!isset($config['alt_connection'])) {
            throw new ConfigMissingException(
                "Missing alt_connection configuration values."
            );
        }
        $connection = $config['alt_connection'];
        return $em->create($connection, $em->getConfiguration());
    }
 
    /**
     * @return \Doctrine\ORM\EntityManager
     */
    private function getEntityManager()
    {
        return $this->serviceLocator->get('doctrine.entitymanager.orm_default');
    }
}

Voici le fichier situé dans Application\Service. Ce le fichier de fabrique devrait donc être deplacé dans un dossier factory ou ai-je mal compris :p ?
Ma couche Service doit étendre directement cette classe  afin de récupérer l'entityManager ?

Dernière modification par JGreco (01-04-2014 14:12:36)


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#6 01-04-2014 14:18:52

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1253

Re: MVC / best practises / Service manager / config plusieurs DB

Pour créer plusieurs connexion tu as juste à faire ça : https://github.com/doctrine/DoctrineORM … uration.md et ça te donne un autre EntityManager.

Tu peux le mettre où tu veux, moi je les met dans le dossier Factory.

Eu non étendre une classe n'est pas fait pour ça, c'est fait pour ajouter des nouveaux comportements en gardant ceux déjà existant par exemple. Là tu dois l'injecter dans ton service donc quand tu vas créer ton service via une factory tu lui passeras l'entity manager à son constructeur ou alors tu utilises l'interface ServiceLocatorAwareInterface qui injectera automatiquement le service locator qui lui peut te donner l'entity manager.

J'ai vu passer un sujet comme quoi les contrôleurs n'auraient plus accès au service locator dans le ZF3 car beaucoup de gens en abusent au lieu d'utiliser les "hard dependancy" en passant par les constructeurs.

Hors ligne

 

#7 01-04-2014 14:24:11

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

Re: MVC / best practises / Service manager / config plusieurs DB

Ton dossier Factory est a la racine du projet ? ou dans un module ?


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#8 01-04-2014 14:28:48

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1253

Re: MVC / best practises / Service manager / config plusieurs DB

Bah comme un dossier Service, Controller, Entity etc ... dans un module c'est lié au module pas à l'application wink

Hors ligne

 

#9 01-04-2014 14:39:56

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

Re: MVC / best practises / Service manager / config plusieurs DB

Je vais plancher dessus un petit moment je reviens vers toi après, y a beaucoup de choses qui sont sombre à ce niveau, merci de tes réponses en tous cas.


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#10 01-04-2014 18:02:11

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

Re: MVC / best practises / Service manager / config plusieurs DB

Bonsoir,
J'ai décidé après de longue heures à comprendre à appliquer tes indications à la lettre.
Je me retrouve a ne pas savoir quoi faire pour cet exemple précis :

Code:

'configuration' => array(
    hydration_cache'   => 'array',
),

Pour doctrine.local.php j'ai copié collé tel quel ce qui est mis dans la doc mais cette ligne pose problème je crois qu'il y a eu une modification du setter car il me renvoie une exception, si je la commente tout se passe bien, je crois, du moins un objet entityManager m'est bien retourné donc je suppose que tout vas bien.

Que dois-je faire a ce propos ? Commenter ? modifier ?

Dernière modification par JGreco (02-04-2014 09:41:52)


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#11 01-04-2014 18:46:05

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1253

Re: MVC / best practises / Service manager / config plusieurs DB

Eu perso je l'ai pas dans mon application ça ... Tu l'as chopé où ??

Hors ligne

 

#12 01-04-2014 19:14:18

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

Re: MVC / best practises / Service manager / config plusieurs DB


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#13 02-04-2014 09:16:07

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1253

Re: MVC / best practises / Service manager / config plusieurs DB

Ah oui effectivement mais ça n'a rien à faire dans le application.config.php ... C'est dans le fichier de conf de doctrine donc doctrine.global.php, logique que ça ne fonctionne pas si tu ne copies/colles pas correctement la doc wink

Hors ligne

 

#14 02-04-2014 09:40:51

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

Re: MVC / best practises / Service manager / config plusieurs DB

Bonjour,

autant pour moi je viens de me rendre compte que j'ai dit une bétise, je l'ai bien collé dans doctrine.global.php, et non pas dans application.config.php (qu'est ce que sa irait faire la dedans d'ailleurs !) désolé ^^' mais donc duc coup.... on en fait quoi de ce petit bout de code qui marche plus ?

Dernière modification par JGreco (02-04-2014 09:41:05)


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#15 02-04-2014 09:47:40

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1253

Re: MVC / best practises / Service manager / config plusieurs DB

Le truc c'est que chez moi ça fonctionne ><.

Voici la partie qui concerne ton soucis sur mon fichier de conf doctrine. J'ai viré tous les drivers, connexion à la bdd et authentification donc normal qu'il n'y ai pas grand chose mais il doit se situer là. Si tu as un deuxième EM il faudrait que tu modifies orm_default par le nom que tu lui as donné (comme indiqué sur la doc "orm_crawler").

Code:

[lang=php]
<?php
/**
 * Doctrine ORM Configuration
 */
return array(
    'doctrine' => array(
        'configuration' => array(
            'orm_default' => array(
                'metadata_cache' => 'array',
                'query_cache' => 'array',
                'result_cache' => 'array',
                'hydration_cache'   => 'array',
            )
        )
    )
);

Hors ligne

 

#16 02-04-2014 10:08:54

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

Re: MVC / best practises / Service manager / config plusieurs DB

J'ai pas compris, je dois modifier orm_defaut en orm _crawler ? Lorsque j'ai copié collé le code de la doc, j'ai bien entendu modifié tout ce qui concerne orm_crawler, pour lui donner un nom plu pertinent et le distinguer de orm_default j'aurais pas du ?


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#17 02-04-2014 10:22:43

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1253

Re: MVC / best practises / Service manager / config plusieurs DB

J'ai pas eu à utiliser de deuxième EM parce que mes migrations je les fais directement en SQL ça m'évite d'avoir à développer un grosse partie de mon application (parce qu'une migration c'est pas rien) et comme en général les gros changements de schema n'ont lieu que très rarement le gain de temps à le faire en SQL est assez intéressant. Dans le cas de petits changements, avec doctrine qui modifie la base (ou donne la requête via --dump-sql) et un petit script SQL de mise à jour des données c'est souvent suffisant. Donc là dessus je découvre en même temps que toi.

orm_default c'est le nom de l'EM de base fourni par doctrine, donc si tu en as un deuxième et que tu souhaites configurer son cache tu dois rajouter un tableau dans configuration (au même format que celui d'orm_default sauf qu'il doit avoir le nom de ton nouvel EM, dans la doc c'est orm_crawler) ce qui devrait donner :

Code:

[lang=php]
<?php
/**
 * Doctrine ORM Configuration
 */
return array(
    'doctrine' => array(
        'configuration' => array(
            'orm_default' => array(
                'metadata_cache' => 'array',
                'query_cache' => 'array',
                'result_cache' => 'array',
                'hydration_cache'   => 'array',
            ),
            'orm_crawler' => array(
                'metadata_cache' => 'array',
                'query_cache' => 'array',
                'result_cache' => 'array',
                'hydration_cache'   => 'array',
            )
        )
    )
);

Hors ligne

 

#18 02-04-2014 10:47:33

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

Re: MVC / best practises / Service manager / config plusieurs DB

Merci pour ton temps encore une fois !

changements de schema n'ont lieu que très rarement

Je suis dans ce cas hélas, refonte complète... base de données incluse.

Donc avoir mes deux EM, sur toute l'application, c'est ce que je dois avoir. D'ailleurs le fait de les avoir configuré dans le module Application, je pourrai les retrouver dans les autres modules ?

Et puisque un exemple vaut mieux qu'un long discours voici ce que j'ai mis :

Code:

[lang=php]
return array(
  'doctrine' => array(
    'connection' => array(
      'orm_default' => array(
        'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver',
        'params' => array(
          'host'     => 'localhost',
          'port'     => '3306',
          'user'     => 'root',
          'password' => '',
          'dbname'   => 'test',
          'charset' => 'UTF8',
          'driverOptions' => array (1002 => 'SET NAMES utf8'),
        )
      ),
      'uneautrebase' => array(
        'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver',
        'params' => array(
          'host'     => 'localhost',
          'port'     => '3306',
          'user'     => 'root',
          'password' => '',
          'dbname'   => 'dbdeuneautrebase',
          'charset'  => 'UTF8',
          'driverOptions' => array (1002 => 'SET NAMES utf8'),
        ),
      ),
    ),
    'configuration' => array(
      'uneautrebase' => array(
          'metadata_cache'    => 'array',
          'query_cache'       => 'array',
          'result_cache'      => 'array',
          //'hydration_cache'   => 'array', //je l'ai commenté car sinon ça me renvoir une exception que j'ai mis en bas
          'driver'            => 'uneautrebase',
          'generate_proxies'  => true,
          'proxy_dir'         => 'data/DoctrineORMModule/Proxy',
          'proxy_namespace'   => 'DoctrineORMModule\Proxy',
          'filters'           => array()
      )
    ),
//on continue la config avec driver, EM etc...
//fermeture du tableau plus bas...
//..

et voici les trois exception retournées :

Code:

An exception was raised while creating "doctrine.entitymanager.uneautrebase"; no instance returned

Code:

An exception was raised while creating "doctrine.configuration.uneautrebase"; no instance returned

Code:

The option "hydration_cache" does not have a matching setHydrationCache setter method which must be defined

si je commente tout vas bien pour l'instant et mes requetes sur l'ancienne base marchent, plus qu'a voir ensuite si j'arrive à insérer ce que je récupère dans ma nouvelle base toute propre avec doctrine.

Je fais appel à tes lumières ! :p

Dernière modification par JGreco (02-04-2014 10:52:13)


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#19 02-04-2014 11:08:20

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1253

Re: MVC / best practises / Service manager / config plusieurs DB

Regardes dans DoctrineORMModule\Service\ConfigurationFactory Je dirais que ça vient de là https://github.com/doctrine/DoctrineORM … ry.php#L33 donc à toi de regarder ce qui cloche à ce moment là. Ya pas de raisons que ça ne fonctionne pas donc soit il manque un truc dans la doc pour l'ajout d'un nouvel EM soit t'as loupé quelque chose wink

Non pas grave les confs sont mergé wink.

Hors ligne

 

#20 02-04-2014 11:19:48

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

Re: MVC / best practises / Service manager / config plusieurs DB

Je crois que j'ai trouvé, mais ça m'en dit pas plus sur ce que je dois faire

Ma version de doctrine que j'ai installé via composer est :

Code:

"doctrine/doctrine-orm-module": "0.7.*",

comme marqué sur le tutorial de Marco Pivetta.

Et je viens de voir sur le fichier
https://github.com/doctrine/DoctrineORM … ry.php#L67

que cette ligne, cette ligne n'existe pas dans mon fichier disponible ici :
\vendor\doctrine\doctrine-orm-module\src\DoctrineIrmModule\Service\ConfigurationFactory.php

j'ai uniquement cela :

Code:

[lang=php]
        $config->setMetadataCacheImpl($serviceLocator->get($options->getMetadataCache()));
        $config->setQueryCacheImpl($serviceLocator->get($options->getQueryCache()));
        $config->setResultCacheImpl($serviceLocator->get($options->getResultCache()));
        $config->setMetadataDriverImpl($serviceLocator->get($options->getDriver()));

Pourquoi à elle été enlevée...?
si je rajoute la ligne manquante j'ai :

Code:

Call to undefined method DoctrineORMModule\Options\Configuration::getHydrationCache()

Le get n'est pas implémenté... cette fonctionnalité à été rajoutée dans les versions récente en fait, et marco pivetta n'a pas mis le tuto à jour donc je dois updater doctrine orm module ?

Dernière modification par JGreco (02-04-2014 11:22:35)


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#21 02-04-2014 11:24:53

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 421

Re: MVC / best practises / Service manager / config plusieurs DB

Bon, je te confirme que c'était cela, la version 0.7 est obsolète par rapport à la doc j'ai updater doctrine orm et tout marche bien.

Merci beaucoup pour tous tes conseils et tes indications ça fait plaisir de voir que la communauté est active pour zf2. Et c'est encourageant pour bosser dessus !

Dernière modification par JGreco (02-04-2014 11:35:03)


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#22 02-04-2014 11:46:22

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1253

Re: MVC / best practises / Service manager / config plusieurs DB

Oui effectivement quand on suit une doc c'est toujours mieux d'avoir la bonne version du produit wink

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages