Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Voilà tout est dans le titre
Nexen.net a écrit:
Wisss est un générateur d'application web basé sur le plugin eclipse Acceleo. Il fournit un métamodèle spécifique à la place d'UML et génère du code PHP basé sur le Zend Framework. La version 0.2.0 est en cours de développement et va permettre de définir dans un modèle métier aussi bien les données que la présentation et des processus métiers simples. Pour les processus plus complexes, il reste toutefois possible de définir du code utilisateur qui ne sera pas écrasé lors des générations suivantes. Wisss s'occupe dans tous les cas de faire le lien entre les différentes couches MVC pour se focaliser uniquement sur l'écriture des processus métiers et sur la mise en forme via une CSS. Cet article intervient à l'occasion de la sortie d'un tutorial montrant l'utilisation de Wisss dans l'état actuel du développement.
Source: http://www.nexen.net/actualites/tutorie … ur_php.php
Acceleo.fr a écrit:
Wisss est à la fois un DSL et un générateur Php. Il a pour but de génèrer toutes les couches (persistance, métier et présentation) en se basant sur le Zend Framework. Wisss est axé sur la simplicité, la souplesse, la sécurité et la performance.
Liens du site officiel: http://acceleo.org/pages/wisss-generator/fr
Après faut voir ce que ça vaut. J'vais essayer de prendre le temps de tester ça
Vidéo de démo :
http://wisss.org/flash_demo/wisssdemo_m … eation.htm
http://wisss.org/flash_demo/wisssdemo_generation.htm
Bleuffant...
Hors ligne
Salut, je suis le développeur de Wisss. Ca fait plaisir de voir que la démo est vue :-)
Si tu veux tester, vu le stade du développement, hésite pas à me poser des questions, je suis sur IRC, sur freenode : #wisss et #acceleo
Hors ligne
Pourrais on avoir un liste de packages utilisés?
J'ai vu que les helpers récents comme partial étaient utilisés mais es ce que Zend_Form et Zend_Layout le sont (par exemple, car c'est composant sont prometteurs) ?
Hors ligne
Non ils ne le sont pas pour l'instant. Il faut que je regarde en détail la doc. Je pense utiliser Zend_Layout mais je suis plus sceptique pour Zend_Form, c'est lourd et superflu avec de la génération. Ce n'est qu'un a priori, il va falloir que je regarde ca de plus près.
Sinon, j'utilise Zend_View, Zend_Controller, Zend_Db, Zend_Config, Zend_Registry en gros. Mais j'en suis encore au dégrossissage, la j'arrive à faire ce qu'il y a dans la démo, mais guère plus. En ce moment c'est gros noeud au cerveau sur la modélisation des processes et la génération qui va avec.
Partial est la seule nouvelle chose que j'utilise pour l'instant.
Hors ligne
Attention, la version disponible sur l'update-site d'acceleo est la 0.1.0 qui ne gére que la persistence et la définition de modèle de données. Pour les widgets et les workflows, il faut prendre la version SVN.
Et je rappelle que c'est en développement :-) si vous avez besoin d'aide pour le faire fonctionner : #wisss sur freenode
Hors ligne
Slt,
j'ai aussi écrit un générateur de code pour la partie Table d'une base de données.
ce générateur se base sur des fichiers templates texte dans lequel il y a des tags qu'ils remplacent.
Mais surtout, ce générateur va calculer les dépendances des tables et générer automatiquement les propriétés suivantes des classes héritant de Zend_Db_Table_Abstract :
_name
_primary
_dependentTables
_referenceMap
_rowClass
_rowsetClass
et il génère aussi les class héritant de Zend_Db_Table_Row_Abstract et Zend_Db_Table_Row_Abstract.
A ce propos, je vous conseille (si ce n'est déjà fait bien sûr) de faire hériter vos tables (et row et rowset) d'une class abstraite intermédiaire entre la classe abstraite de ZF et vos classes concrètes. Ainsi, on aura :
+-----------------------------+
| Zend_Db_Table_Abstract |
+-----------------------------+
| <<abstract>> |
| |
+-----------------------------+
^
|
|
+-----------------------------+
|App_Buz_MyClassAbstract|
+-----------------------------+
| <<abstract>> |<-----------------------+
| | |
+-----------------------------+ |
^ |
| |
| |
+-----------------------------+ +-----------------------------+
|App_Buz_MyConcre1Class| |App_Buz_MyConcre2Class|
+-----------------------------+ +-----------------------------+
| | | |
| | | |
+-----------------------------+ +-----------------------------+
Idem pour les autres classes (row, rowset, action etc...)
comme ça, on a une couche logicielle supplémentaire au cas où par exemple, on change la couche inférieure (on sait jamais...même si ZF semble prometteur!!) ou alors cela permet de regrouper des méthodes communes.
Yoong
Hors ligne