Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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
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
(pour de bons exemples hein ^^)
Dernière modification par flobrflo (29-04-2014 16:26:38)
Hors ligne
Salut, oui le ZF2 est fait pour être découpé en modules donc c'est bon . 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 .
Hors ligne
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
Orkin a écrit:
Salut, oui le ZF2 est fait pour être découpé en modules donc c'est bon
. 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.
Ok ça me rassure, je suis parti correctement.
Merci.
Dernière modification par pconrad (29-04-2014 17:03:54)
Hors ligne
http://framework.zend.com/manual/2.0/en/index.html
perso j'arrive pas à lire les pdf comme ça xD
Hors ligne
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 :
[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
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
Hors ligne
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
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
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
Dernière modification par flobrflo (02-05-2014 08:45:45)
Hors ligne
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
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,
[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
Les configurations des modules sont mergées donc tu n'as pas besoin de les répéter . 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
Orkin a écrit:
Les configurations des modules sont mergées donc tu n'as pas besoin de les répéter
. 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
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
Hors ligne
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 .
Hors ligne