Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 29-04-2014 16:03:01

pconrad
Membre
Date d'inscription: 29-04-2014
Messages: 20

[Résolu] Modules, Documentation, bonne pratique.

Bonjour,

Je travaille avec ZF2 depuis 3/4 semaines, et comme tout débutant, je reste interrogatif sur 2/3 choses.

J'ai découpé mon application en plusieurs modules (pièces, utilisateur, gestion commande,...).
Est-ce une bonne manière de procéder avec ZF2?

Mes modèles de données sont les mêmes pour tous les modules.
Quel est le meilleur endroit pour les mettre ?

Et une question plus pratique, ou trouver la documentation sur les array, comme par exemples pour les InputFilter et Validator, ou les définitions des routes ?

Merci.

Dernière modification par pconrad (11-05-2014 10:03:00)

Hors ligne

 

#2 29-04-2014 16:25:45

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: [Résolu] Modules, Documentation, bonne pratique.

Pour ce qui est des bonnes pratiques, je laisse quelqu'un de plus compétent que moi te répondre ^^

Pour ce qui est de la documentation... et bien t'a la doc, elle est très complète, ça manque un peu d'exemple mais ça tu peu en trouver sur ce forum ou dans des blogs de contributeur au développement du framework smile
(pour de bons exemples hein ^^)

Dernière modification par flobrflo (29-04-2014 16:26:38)

Hors ligne

 

#3 29-04-2014 16:54:54

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

Re: [Résolu] Modules, Documentation, bonne pratique.

Salut, oui le ZF2 est fait pour être découpé en modules donc c'est bon smile. Un module est là pour représenter un ensemble de fonctionnalités comme par exemple un module de gestion utilisateur, un autre de gestion de commandes etc ... Bien qu'il y aura probablement des interactions ou des dépendances entre ceux.

Généralement tu as un module Application qui en gros représente les parties génériques de ton application ou le "coeur" donc les modèles qui sont propre à ton application et qui n'ont pas leur place dans tes autres modules tu peux les mettre là. Par exemple les modèles qui concernent la gestion des utilisateurs seront dans le module utilisateur alors que ceux concernant la gestion des commandes seront dans le module de gestion des commandes.

Pour le reste tu as la doc officielle, les blogs des contributeurs et tu peux trouver pas mal d'infos ici wink.

Hors ligne

 

#4 29-04-2014 17:01:32

pconrad
Membre
Date d'inscription: 29-04-2014
Messages: 20

Re: [Résolu] Modules, Documentation, bonne pratique.

Tu parle de la doc en PDF de 1700 pages ?

https://packages.zendframework.com/rele … ual-en.pdf

C'est vrai qu'elle est complète, et il y a de nombreux exemples. Actuellement je consulte les sources PHP pour savoir ce que je doit mettre dans les array des FactoryInput. C'est un peut fastidieux !

Il y a une autre doc ?

Hors ligne

 

#5 29-04-2014 17:03:21

pconrad
Membre
Date d'inscription: 29-04-2014
Messages: 20

Re: [Résolu] Modules, Documentation, bonne pratique.

Orkin a écrit:

Salut, oui le ZF2 est fait pour être découpé en modules donc c'est bon smile. Un module est là pour représenter un ensemble de fonctionnalités comme par exemple un module de gestion utilisateur, un autre de gestion de commandes etc ... Bien qu'il y aura probablement des interactions ou des dépendances entre ceux.

Généralement tu as un module Application qui en gros représente les parties génériques de ton application ou le "coeur" donc les modèles qui sont propre à ton application et qui n'ont pas leur place dans tes autres modules tu peux les mettre là. Par exemple les modèles qui concernent la gestion des utilisateurs seront dans le module utilisateur alors que ceux concernant la gestion des commandes seront dans le module de gestion des commandes.

Pour le reste tu as la doc officielle, les blogs des contributeurs et tu peux trouver pas mal d'infos ici wink.

Ok ça me rassure, je suis parti correctement.

Merci.

Dernière modification par pconrad (29-04-2014 17:03:54)

Hors ligne

 

#6 29-04-2014 17:34:51

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: [Résolu] Modules, Documentation, bonne pratique.

http://framework.zend.com/manual/2.0/en/index.html

perso j'arrive pas à lire les pdf comme ça xD

Hors ligne

 

#7 30-04-2014 12:56:03

pconrad
Membre
Date d'inscription: 29-04-2014
Messages: 20

Re: [Résolu] Modules, Documentation, bonne pratique.

flobrflo a écrit:

http://framework.zend.com/manual/2.0/en/index.html

perso j'arrive pas à lire les pdf comme ça xD

Oui, après mon livre, c'est cette doc que j'utilise, mais je reste un peut sur ma faim.

Par exemple :

Code:

[lang=php]$factory = new Factory();
$inputFilter = $factory->createInputFilter(array(
    'password' => array(
        'name'       => 'password',
        'required'   => true,
        'validators' => array(
            array(
                'name' => 'not_empty',
            ),
            array(
                'name' => 'string_length',
                'options' => array(
                    'min' => 8
                ),
            ),
        ),
    ),
));

Ou trouver des infos sur l'array passé en paramètre ? Encore celui-ci est simple !
Je m'y prend peut être mal ....

Hors ligne

 

#8 30-04-2014 13:29:19

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: [Résolu] Modules, Documentation, bonne pratique.

Ben après plus que sur la doc, c'est des exemples dont tu va avoir besoin, bien regarder qui les postes est primordial si tu veux vraiment rester dans de la bonne pratique.

Comme dit un peu plus haut.. t'a des forums ou des blogs spécialisés qui répondront très efficacement à ce genre de question.
(déjà rien que sur ce forum y a un paquet de topic répondant à des questions sur les inputs filter.)

Après tu trouvera pas la solution magique, il faut adapter les sources à ta recherche. Y aura p'tet pas exactement ce que tu demande, mais sur un ou deux topics en les mettant en relation tu trouvera certainement ton bonheur smile

Hors ligne

 

#9 01-05-2014 21:12:22

pconrad
Membre
Date d'inscription: 29-04-2014
Messages: 20

Re: [Résolu] Modules, Documentation, bonne pratique.

flobrflo a écrit:

Ben après plus que sur la doc, c'est des exemples dont tu va avoir besoin, bien regarder qui les postes est primordial si tu veux vraiment rester dans de la bonne pratique.

Comme dit un peu plus haut.. t'a des forums ou des blogs spécialisés qui répondront très efficacement à ce genre de question.
(déjà rien que sur ce forum y a un paquet de topic répondant à des questions sur les inputs filter.)

Après tu trouvera pas la solution magique, il faut adapter les sources à ta recherche. Y aura p'tet pas exactement ce que tu demande, mais sur un ou deux topics en les mettant en relation tu trouvera certainement ton bonheur smile

Ok, merci. En regardant les différents exemples ça et là, j'arrive à m'en sortir.
J'ai réussi à faire le module 'User' (partiel) en une journée pratiquement.

J'ai encore certaines questions sur la structure de l'application comme où mettre les paramètres de doctrine pour éviter de le répéter à chaque module. Où mettre le layout principal de l'application.

Hors ligne

 

#10 02-05-2014 08:44:23

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: [Résolu] Modules, Documentation, bonne pratique.

http://www.z-f.fr/forum/viewtopic.php?id=9072
ou celui-ci
http://www.z-f.fr/forum/viewtopic.php?id=9035

Pour la config de cotrine wink

Dernière modification par flobrflo (02-05-2014 08:45:45)

Hors ligne

 

#11 02-05-2014 09:24:13

pconrad
Membre
Date d'inscription: 29-04-2014
Messages: 20

Re: [Résolu] Modules, Documentation, bonne pratique.

flobrflo a écrit:

http://www.z-f.fr/forum/viewtopic.php?id=9072
ou celui-ci
http://www.z-f.fr/forum/viewtopic.php?id=9035

Pour la config de cotrine wink

Ma config Doctrine fonctionne grâce aux forums et à mon livre de Sebastian Chazallet (ZF2, industrialisez vos développements PHP) que je recommande d'ailleurs.

Plus précisément :

dans monsite/config j'ai implanter un fichier doctrine.local.php dans lequel j'ai mes configurations de connexion.
J'ai :
un module utilisateur
un module pièces
un module transaction

Dans chacun des modules, j'ai ma config Doctrine dans module.config.php,

Code:

[lang=php]return array (
....
        'doctrine' => array (
                'driver' => array (
                        __NAMESPACE__ . '_driver' => array (
                                'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
                                'cache' => 'array',
                                'paths' => array (
                                        __DIR__ . '/../src/' . __NAMESPACE__ . '/Model'
                                )
                        ),
                        'orm_default' => array (
                                'drivers' => array (
                                        __NAMESPACE__ . '\Model' => __NAMESPACE__ . '_driver'
                                )
                        )
                )
        ),
....

Mais comme j'ai plusieurs modules dans lesquels j'ai le modèle de données correspondant, dans 'paths' je doit donné le chemin de tous les modèles, et pour les 3 modèles. Et j'ai horreur de répéter mon code, ce qui est une source d'erreur. Il n'y a pas un moyen de mettre ces options dans un fichier plus haut comme dans monsite/config ?

Hors ligne

 

#12 02-05-2014 09:49:32

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

Re: [Résolu] Modules, Documentation, bonne pratique.

Les configurations des modules sont mergées donc tu n'as pas besoin de les répéter smile. Si tu as un modèle User dans ton module User et un modèle Pièce dans ton module Pièce tu as simplement besoin de les déclarer dans leur module respectif c'est tout.

Concernant le livre dont tu parles, il est bien pour débuter mais tu arrives rapidement à ses limites. Tout n'est pas à prendre, ceraines best-practices ne sont pas respectés

Hors ligne

 

#13 02-05-2014 17:29:27

pconrad
Membre
Date d'inscription: 29-04-2014
Messages: 20

Re: [Résolu] Modules, Documentation, bonne pratique.

Orkin a écrit:

Les configurations des modules sont mergées donc tu n'as pas besoin de les répéter smile. Si tu as un modèle User dans ton module User et un modèle Pièce dans ton module Pièce tu as simplement besoin de les déclarer dans leur module respectif c'est tout.

Concernant le livre dont tu parles, il est bien pour débuter mais tu arrives rapidement à ses limites. Tout n'est pas à prendre, ceraines best-practices ne sont pas respectés

Effectivement, les paramètres du layout principal sont gardés entre les modules.
Comment éviter de dupliquer du code, comme la mise en place du layout.
Y a t-il un endroit ou l'on peut mettre une classe contenant des functions communes, ou simplement mettre une classe dans le module principal suffit ?

Désolé pour mes questions, mais je reste attaché à une structure claire. Jusqu'à présent, j'avais utilisé Symfony 1.4, mais surtout des "framework" perso, très structurés avec des classes courtes. Je ne voudrais pas prendre de mauvaises habitudes et mettre des bouts de codes partout.

Hors ligne

 

#14 21-07-2014 11:16:48

ALkyD
Membre
Lieu: Limoges
Date d'inscription: 11-07-2007
Messages: 69
Site web

Re: [Résolu] Modules, Documentation, bonne pratique.

Bonjour,

J'aurais également quelques questions concernant les bonnes pratiques sur les modules. Je cherche à faire un site de tout ce qui a de classique, avec une partie publique, un backoffice et un système de news. Si je comprends bien le découpage des modules, je devrais avoir cette liste :
- Module "Admin" pour le backoffice, avec le strict minimum (connexion, interface...)
- Module "Public"
- Module "News" pour gérer les news, avec dedans deux contrôleurs du genre AdminController pour gérer les news dans le backoffice, et PublicController pour afficher les news sur le site.

Est-ce une bonne structure ?

Une autre question : où stocke-je mes classes, modèles, traits, helpers ? Est-ce que je créé un module du genre "Application" qui ne contiendra que le code métier, ou bien je peux mettre tout ça dans le module Admin, sachant qu'il fait partie du coeur du site et qu'il sera amené à être réutilisé pour d'autres sites (au contraire du module Public) ?

Merci d'avance wink

Hors ligne

 

#15 21-07-2014 15:52:57

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

Re: [Résolu] Modules, Documentation, bonne pratique.

Salut ça semble correct comme architecture. Concernant tes classes ça dépend tu peux faire un module Application ou alors les mettre dans le module qui est censé les utiliser ou du moins qui gère cette partie de ton application. Si tu as un module News par exemple tu vas mettre le modèle news dedans wink.

Hors ligne

 

#16 21-07-2014 16:47:23

ALkyD
Membre
Lieu: Limoges
Date d'inscription: 11-07-2007
Messages: 69
Site web

Re: [Résolu] Modules, Documentation, bonne pratique.

Oui bien sûr, les modèles News dans le module News wink Je sous-entendais les trucs plus génériques qui, à priori, ont leur place dans le module Admin.

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