Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-08-2007 02:28:54

esolarc
Nouveau membre
Lieu: Genève
Date d'inscription: 09-08-2007
Messages: 8
Site web

(e)php sur Zend framework

Je démarre tout juste avec le ZF r1.0.1. et sur le MVC

Je me suis développé un système de CMS avec lequel je faits tous mes sites mais pour lui donner plus de visibilité, pérénité et professionalisme j'aimerais le re-écrire en le basant sur ZF.

J'aimerais du coup aussi profiter du MVC de ZF (bien que mon système passe déjà par un index.php unique qui appel les class nécessaires (controleur) et publie l'info via un système de template perso. (view)) et là j'ai un peu de mal à imaginer l'assemblage...

Dans le MVC de ZF il est dit que chaque page est une action... or dans mon cas une page regroupe une multitude d'éléments provenants de class complètement distinctes et du coup je vois pas comment assembler le tout...

Pour faire simple mon système lit une table MySQl, nommé "page", qui défini la structure de la page demandée et ses composants. Une page est définie par un template header, footer et un ensemble de composants.

Chaque composant peut être une image, un texte, un fichier html ou un module (ou class php) qui traite de l'information, parse ses données avec un template, il y a un template associé à chaque action de chaque module (edit, liste, affichage, suppression, sauvegarde).

Comme les composants de ma table page sont lus séquentielement l'envoie des codes html résultants s'affichent dans l'ordre et ma page s'affiche donc correctement.

Je n'ai donc pas un template par page mais chacune de mes pages est composée d'un assemblage de plusieurs templates (ce qui facilite l'élaboration d'une page par un utilisateur final qui a juste a désigner et ordonner les composants désirés dans sa page via une table SQL).

Et là j'avoue que j'ai du mal a voir comment je vais reproduire ce système avec le MVC de ZF...

Avez vous une idée d'un début de piste ?

D'avance merci.

Dernière modification par esolarc (09-08-2007 02:40:43)


(e)solarc - le savoir commence par le partage
IBM T42 - Ubuntu - Eclipse - Lotus Notes - PHP

Hors ligne

 

#2 09-08-2007 03:08:48

Grummfy
Membre
Lieu: Belgique
Date d'inscription: 01-08-2007
Messages: 232
Site web

Re: (e)php sur Zend framework

tu peux inclure d'autre page dans les view via <?php echo $this->render('header.phtml'); ?> par exemple
ou
<?php echo $this->render('news/listenews.phtml'); ?>

et dans le controlleur tu peux très bien faire $this->render('ajouter'); alors que tu es dans modifier

sinon des exemple existe du système de templates smarty étendu et incorporer dans ZF

Dernière modification par Grummfy (09-08-2007 03:09:35)


Engagez-moi! : Cherche job en Belgique autour de Namur (1 heure de route autour)
blog - ZF Planet

Hors ligne

 

#3 09-08-2007 06:25:16

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: (e)php sur Zend framework

Bonjour,

Effectivement, je pense que tu peux commencer par désactiver le viewRenderer et afficher les vues comme te l'a conseillé grummfy. Par contre dans ce cas, tu n'as qu'un controller.

L'autre solution est d'attendre la version 1.1.0 (début septembre) qui devrait introduire Zend_Layout.

A priori Zend_Layout permettra de définir des zones dans un layout, et une action par zone est appelée. Lors de l'affichage, le ZF assemblera le code généré par le layout et les codes générés par chaque zone.

A+, Philipe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#4 09-08-2007 10:14:30

esolarc
Nouveau membre
Lieu: Genève
Date d'inscription: 09-08-2007
Messages: 8
Site web

Re: (e)php sur Zend framework

Zend_Layout semble intéressant... il sort en septembre c'est cela ?

Pour la commande <?php echo $this->render('news/listenews.phtml'); ?> je vois pas comment ca marche...

En effet imaginons que m'on appel soit dossier/ajouter ce qui si j'ai bien compris activera l'action ajouter de mon controleur dossier. Le controleur fera sont boulot pour récuperer les données et appelera ajouter.phtml pour les afficher, jusque là ok mais si j'ajouter la commande "render('forum/lastpost.phtml')" il ajoutera la view lastpost mais comment il appellera le controleur pour récupérer les données a publier ?


(e)solarc - le savoir commence par le partage
IBM T42 - Ubuntu - Eclipse - Lotus Notes - PHP

Hors ligne

 

#5 09-08-2007 10:25:20

esolarc
Nouveau membre
Lieu: Genève
Date d'inscription: 09-08-2007
Messages: 8
Site web

Re: (e)php sur Zend framework

en faite pour être le plus précis possible dans ma description j'ai des classes PHP pour chaque module de mon système : ephpArticle - ephpDirectory - ephpForum - ephpCalendar - ephpGallery - ...etc

Elles s'appuient toutes sur des classes et fonctions communes, sorte de core ephp mais bon ca c'est pas important.

Et j'ai une classe ephpWWW qui construit ma page a partir de deux tables "page" et "content".

Comme expliqué plus haut une page contient des contents qui peuvent être une autre page, une image, un texte, un fichier html ou un appel à une de mes classes PHP.

Donc j'imagine très bien avoir un controleur (correspondant à ephpWWW) mais je vois pas comment dans se controleur faire appel aux controleurs des différentes classes contenues dans ma définition de ma page.


(e)solarc - le savoir commence par le partage
IBM T42 - Ubuntu - Eclipse - Lotus Notes - PHP

Hors ligne

 

#6 09-08-2007 17:34:10

Geoffrey
Membre
Lieu: 63
Date d'inscription: 12-04-2007
Messages: 140
Site web

Re: (e)php sur Zend framework

Bonjour,

Grummfy a écrit:

sinon des exemple existe du système de templates smarty étendu et incorporer dans ZF

Tu veux dire par là qu'il est possible de faire faire la partie view du MVC de ZF par Smarty ??? Si c'est le cas, je suis super intéressé car mon graphiste étant au point sur Smarty, j'avais du coup laissé tomber l'approche MVC de ZF, mais si Smarty peut s'intégrer, je prends smile

Hors ligne

 

#7 09-08-2007 18:05:48

Grummfy
Membre
Lieu: Belgique
Date d'inscription: 01-08-2007
Messages: 232
Site web

Re: (e)php sur Zend framework

http://devzone.zend.com/node/view/id/120
http://kpumuk.info/php/zend-framework-u … te-engine/

et encore bien d'autre, fait une petite recherche sur le net à l'aide de ton moteur de recherche préféré tu sera étonné!


Engagez-moi! : Cherche job en Belgique autour de Namur (1 heure de route autour)
blog - ZF Planet

Hors ligne

 

#8 09-08-2007 18:36:56

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: (e)php sur Zend framework

Et un tuto en français (que je viens de finir, il contient certainement encore quelques erreurs, mais j'utilise ces scripts depuis plusieurs mois, le fond marche bien smile )
http://www.kitpages.fr/zf_integrerSmarty.php
Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#9 09-08-2007 22:10:54

dinoxyz
Membre
Date d'inscription: 31-03-2007
Messages: 70

Re: (e)php sur Zend framework

philippe a écrit:

Et un tuto en français (que je viens de finir, il contient certainement encore quelques erreurs, mais j'utilise ces scripts depuis plusieurs mois, le fond marche bien smile )
http://www.kitpages.fr/zf_integrerSmarty.php
Philippe

Merci, pour le tuto cool, je vais le lire avec attention et essayer d'en faire une classe pour TinyButStrong en partant du tien et en te mentionnant comme source après tu sais où je pourrais poser ce genre de code ou en faire un lien quelque part pour que les personnes puissent venir le chercher si tout fonctionne correctement wink .
Dans le cas contraire, rendez-vous sur le forum dans la partie MVC pour corriger mes quelques bugs qui me restera en fin de week-end.
Cordialement,
Dinoxyz.


Système : Ubuntu (Linux)
Version : PHP 5.2.1
Mode debug actif

Hors ligne

 

#10 09-08-2007 23:43:15

Geoffrey
Membre
Lieu: 63
Date d'inscription: 12-04-2007
Messages: 140
Site web

Re: (e)php sur Zend framework

Grummfy a écrit:

http://devzone.zend.com/node/view/id/120
http://kpumuk.info/php/zend-framework-u … te-engine/

et encore bien d'autre, fait une petite recherche sur le net à l'aide de ton moteur de recherche préféré tu sera étonné!

Merci pour ces adresses smile, j'avoue qu'en effet je n'avais pas encore fais de recherche car je ne m'étais même pas posé la question de la faisabilité de la chose, mais à la lecture de ce topic, j'ai eu espoir d'un souhait que je ne m'étais jamais formulé. Plus qu'un espoir, c'est une réalité !!!

philippe a écrit:

Et un tuto en français (que je viens de finir, il contient certainement encore quelques erreurs, mais j'utilise ces scripts depuis plusieurs mois, le fond marche bien smile )

Ca, ca tombe très bien, merci beaucoup.
J'ai essayer ton tuto avant de répondre et ... ca marche du tonerre!!!
Pour info, j'ai mis 1heure à le mettre en place sachant qu'il y a une heure je n'avais jamais fais de MVC, enfin que du fait maison un peu en vrac, que je ne connais pas beaucoup mieux le ZF, et que je ne suis pas très au point sur la programmation objet.
Malgrés tout ca, j'ai réussi en 1heure à mettre en place un MVC avec Smarty comme Viewer avec tes tutos

MERCI BEAUCOUP !!!

Geoffrey

Hors ligne

 

#11 10-08-2007 20:14:26

dinoxyz
Membre
Date d'inscription: 31-03-2007
Messages: 70

Re: (e)php sur Zend framework

Bonsoir,
J'ai fait une réponse au 3 ième poste de ceci  c'est beaucoup moins avancé donc plus flexible je pense.
http://www.z-f.fr/forum/viewtopic.php?id=332

@++ Dinoxyz


Système : Ubuntu (Linux)
Version : PHP 5.2.1
Mode debug actif

Hors ligne

 

#12 11-08-2007 00:56:20

esolarc
Nouveau membre
Lieu: Genève
Date d'inscription: 09-08-2007
Messages: 8
Site web

Re: (e)php sur Zend framework

Tout ceci m'a l'air fort intéressant, je note juste ta remarque sur l'autre file de discussion dinoxyz :

dinoxyz a écrit:

...C'est déjà la galère pour intégrer un moteur de template autre que Smarty car il n'y a aucune documentation et il faut regarder comment fonctionne Smarty pour le convertir en son propre moteur de template ...

Car justement je n'utilise pas smarty et ne compte pas l'utiliser (trop lourd et pour moi ce n'est pas du templating mais bon c'est un autre débat).

Pour info j'utilise PHP Data Source Template Parser (ou PHP DSTP) de Ruud Kamphuis légèrement complèté mais qui s'avère répondre exactement au besoin de templating et plus rapide que la pluspart de ses concurrents (même ceux avec cache comme smarty alors que lui n'en a pas).

Enfin ceci étant dit pour revenir au sujet de ce file mais je vais essayer de lire tout ca, surtout le tuto en français car mon anglais n'est pas terrible. C'est peut être pour ca que j'ai un peu de mal a comprendre la doc sur la contribution Zend_Layout ;-)

Mon but est évidement d'utiliser un parser mais surtout pouvoir composer ma page de plusieurs résultats d'action et donc de na pas avoir qu'un fichier .phtml view mais autant que d'action souhaité par l'utilisateur dans sa page.

Mais va quand même falloir que je comprenne un peu mieux les ViewRender, View autres termes de Zend car pour l'instant tout ceci n'est pas encore très clair dans ma petite tête pleine de trous ;-)

Mais dores et déjà merci pour toutes vos réponses.

Dernière modification par esolarc (11-08-2007 01:09:58)


(e)solarc - le savoir commence par le partage
IBM T42 - Ubuntu - Eclipse - Lotus Notes - PHP

Hors ligne

 

#13 14-08-2007 12:39:15

esolarc
Nouveau membre
Lieu: Genève
Date d'inscription: 09-08-2007
Messages: 8
Site web

Re: (e)php sur Zend framework

Bon voilà je reviens sur mon projet et surtout de mes interrogations ;-) (je sais c'est sûrement évident voir très basic pour vous mais pour moi cela m'empêche d'aller de l'avant).

J'ai lue pas mal de tuto et d'exemples mais j'avoue que je reste dubitatif (d'autant plus que j'ai pas mal de difficulté avec l'anglais).
Dans mon outil de gestion de site web j'ai plusieurs classes et script de fonction standards (ex. gestion accès db, gestion des droits d'accès, des mail, transformations chaînes de caractères, gestion de fichiers, gestion des uploads, templates, du code de confirmation de formulaire,...)
Bon j'imagine très bien remplacé ces fonctions par les classes du ZF ou développer des classes supplémentaires pour mes besoins.

Maintenant j'ai tout un ensemble de « packages » ou modules, basés sur ces fonctions, qui répondent a des besoins plus large, comme par exemple :
Gestion d'articles
Gestion de répertoire de sites
Gestion d'un forum
Gestion de petites annonces
Gestion d'un carnet d'adresses
Gestion des commentaires associés à n'importe quel élément d'un autre module
Gestion de la mise en page du site
...etc.

Tous ces modules sont formés d'une classe qui comporte de manière standard un ensemble de méthodes : Affichage d'un élément, Affichage d'une liste d'éléments, Edition d'un élément, Sauvegarde d'un élément, Suppression d'un élément, Fonction de gestion des erreurs et d'une fonction Show (qui me sert de contrôleur et qui suivant les paramètres appel la bonne fonction).

Et c'est là que les problèmes arrivent...
J'imagine très bien que ces classes ne seront probablement pas des librairies (quoique pourquoi pas ?) mais plutôt écrites au niveau des applications en tant que module avec vue, contrôleur et modèle.

Dans tous les exemples que j'ai trouvé ils partent toujours d'une adaptation du fichier index.php de base mais comment ca se passe dans le cas d'un module ? (dans le répertoire application).

Est ce logique ou une classes complète, comme par exemple « gestion d'articles » peut s'écrire comme une classe des librairies Zend ?

En faite j'ai u peu de mal à comprendre l'organisation de tous mes éléments avec ZF.

Merci de m'avoir lue et d'avance de vos réponses.


(e)solarc - le savoir commence par le partage
IBM T42 - Ubuntu - Eclipse - Lotus Notes - PHP

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