Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 10-04-2013 23:32:46

biloute
Membre
Date d'inscription: 01-04-2013
Messages: 19

[Résolu] Installer et débuter avec Zend Framework 2

Bonjour,

Je tente depuis plusieurs jours de débuter avec Zend Framework 2. Les pré-requis sont OK, j'ai un WAMP tout neuf et j'utilise Eclipse.

Et déjà, rien que pour l'installer, je cauchemarde. Apparemment il y a plein de façon d'utiliser ce framework, mais aucun tuto n'existe pour expliquer le pourquoi du comment des différentes méthodes.

D'après ce que j'ai compris, le point de départ pour créer un projet est de télécharger le ZendSkeletonApplication-master, d'après le site officiel : http://framework.zend.com/manual/2.1/en … rview.html

Mais le projet tel quel ne fonctionne pas, il faut créer le vhost, modifier le fichier hosts qui va bien. Cela ne suffit pas, il faut apparemment installer le Framework avec le composer (qui gère soit disant les dépendances, bref... bien obscur).

Au final j'ai réussi à faire fonctionner l'appli Skeleton ainsi que le tuto du site, c'est déjà un bon point. Malheureusement, je n'ai toujours pas compris cette méthode d'installation du framework et cela m'a amené à plusieurs questions :

- Le composer est-il vraiment indispensable et faut-il le lancer à chaque fois qu'on veut partir sur un nouveau projet ?

- Sur la page de téléchargement du site officiel (http://framework.zend.com/downloads/latest), lorsque je DL le le "Zend Framework 2.1.4 Full", je n'obtient que le Framework brut, sans aucune arborescence de travail, notemment le répertoire Module, avec la séparation MVC etc... A quoi peut servir cette version ? Jouer le composer permettra t-il de créer toute cette arborescence avec les fichiers utiles au démarrage d'un projet ?

- Pourquoi il n'y a rien dans le répertoire "vendor/ZF2/" du Skeleton ?
Une fois le composer lancé, je m'attendais à voir le framework zend dedans. Or, il se trouve en fait dans : "vendor/zendframework/zendframework/"

- Sur ce Github (https://github.com/zendframework/zf2) on obtient encore un packaging du framework bien différent, avec beaucoup de fichiers en plus. A quoi sert cette version du framework ? Toujours besoin du composer ?

- Est-ce que quelqu'un peut m'expliquer sa méthode pour préparer un nouveau projet (Où et quelle source sur Framework prendre ?) sans s'embarrasser des fichiers inutiles ?

Je mélange certainement plein de chose et c'est tout ce bazar dans ma tête qui me rend dingue smile

Alors désolé, mais s'il y a quelqu'un qui peut m'éclairer... ?

Merci d'avance,

Dernière modification par biloute (12-04-2013 11:45:36)

Hors ligne

 

#2 11-04-2013 09:24:19

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

Re: [Résolu] Installer et débuter avec Zend Framework 2

Salut, oui tu mélanges plein de truc on est bien d'accord big_smile.

Donc que tu télécharges le ZF2 sur github, le site officiel ou via le composer c'est la même chose. Les seules différences que tu peux avoir c'est que dans le full tu dois avoir la documentation avec (je l'ai jamais téléchargé là dessus). Quand tu le télécharges sur github tu as la même chose que via le composer, il fait un zip du répository sans la documentation puisqu'elle est sur un autre. Le zip ne résout pas les dépendances donc tu dois tout télécharger manuellement. C'est là que le composer intervient, je vais y revenir après.

Pour ton environnement de travail je te conseil PHPStorm ou SublimeText 2 voir netbeans plutôt qu'Eclipse qui à mon gout n'est vraiment pas encore à la hauteur de ces 3 IDE pour le développement PHP.

Contrairement à ce que tu penses il n'y a pas 36 façons d'utiliser le ZF2 :
- L'installer dans le dossier vendor de ton application
- L'installer ailleurs et le spécifier dans l'include path de ton php.ini

Tu as bien compris, le point de départ c'est le ZendSkeletonApplication comme expliqué sur la documentation officielle. Celui-ci permet d'apporter directement la bonne architecture de fichier pour débuter rapidement. Ce Skeleton embarque un fichier nommé composer.json ainsi que le fichier composer.phar qui est une archive PHP exécutable. Ce skeleton ne contient pas le ZF2 juste la base pour démarrer une application ZF2

Le Virtual Host n'est pas obligatoire mais ça évite d'avoir des url de ce genre http://monappli.local/public/ à la place tu auras seulement http://monappli.local ça fait donc plus propre et ça permet d'éviter au visiteur de remonter dans les dossiers dont il n'a pas le droit d'aller. Ensuite tu as un fichier .htaccess qui permet de faire de la réécriture d'url pour rediriger toutes les requêtes vers le fichier index.php situé dans le dossier public et c'est ensuite ce fichier qui va lancer l'application (au sens ZF) et déclencher ce qui va bien pour que l'application (au sens web) fonctionne.

A partir de cette étape tu as donc le Skeleton, le Virtual Host et le composer de présent. Lorsque tu vas vouloir accéder à ton site ça va planter car tu n'as pas les fichiers du ZF2. C'est là que le composer intervient. Tu vas donc dans ton dossier applicatif et tu vas lancer "php composer.phar install", le composer va aller lire le fichier composer.json qui lui indique les dépendances à résoudre (il peut le faire de façon récursive, c'est à dire que s'il y a une dépendance via un fichier composer.json dans une autre dépendance il va la résoudre) le composer va ensuite télécharger ce qui va bien depuis github et le mettre dans le dossier vendor de l'application. Il va aussi créer quelques fichiers d'optimisation.

Une fois l'installation terminée tu as tout ce qu'il faut pour faire fonctionner ton application. Pour ceux qui viennent du monde du java on peut assimiler le composer à maven 2.
Je te conseil d'aller lire la définition de ce qu'est un framework sur wikipedia car je n'ai pas l'impression que tu comprennes bien ce que c'est. Tu dois dissocier la partie applicative (le Skeleton) du framework qui sont deux choses distinctes mais dans ce cas précis ne peuvent pas fonctionne l'un sans l'autre.

Hors ligne

 

#3 11-04-2013 14:47:24

biloute
Membre
Date d'inscription: 01-04-2013
Messages: 19

Re: [Résolu] Installer et débuter avec Zend Framework 2

Salut !

Merci pour ta réponse, c'est super big_smile

Cela veut-il dire que je pourrais également procéder comme suit :
- télécharger le Skeleton sur Github
- télécharger le framework seul sur Github
- mettre le framework dans le dossier vendor du Skeleton

Et hop j'ai tous les éléments suffisants pour faire fonctionner une appli c'est ça ?

Ce qui signifie que, dans ce cas :
- je n'ai pas besoin de lancer le composer, car j'ai amené toutes les dépendances moi-même, mais manuellement
- Je dois cependant ajouter une variable d'environnement pour que mon autoloader aille chercher les dépendances dans le dossier vendor
- je n'ai plus les fichiers d'optimisation (sont-ils indispensables / importants ?)

Autre remarque :

Je comprends maintenant que l'arborescence de répertoires (partie applicatif) ne constitue pas le Framework, cependant ZF2 ne pourrait fonctionner dans celle-ci. C'est dommage qu'il n'y ai pas d'explication précise sur ça sur le site officiel (ou que je n'ai pas trouvé). Du moins, une liste des répertoires obligatoires avec leur fichier de config serait intéressant. J'avais l'impression que le Skeleton était simplement un exemple parmi tant d'autre pour débuter un projet, mais certainement pas qu'il servait à fournir l'arborescence adéquate au bon fonctionnement du ZF2.

Dernière modification par biloute (11-04-2013 14:47:57)

Hors ligne

 

#4 11-04-2013 15:34:46

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

Re: [Résolu] Installer et débuter avec Zend Framework 2

Le Skeleton est un squelette d'application il n'y a pas besoin d'expliquer plus son nom est là pour ça smile. C'est comme le ZendSkeletonModule (mais je sais plus s'il est à jour lui).

En fait le faire manuellement ne t'apporte pas de plus value puisque le composer le fait pour toi donc te prend pas la tête plus que ça. L'avantage c'est que composer fonctionne aussi avec des modules par exemple tu veux ajouter DoctrineORMModule il suffit de rajouter la référence dans le composer.json et lui va permettre de voir les dépendances :
- DoctrineORMModule
- DoctrineModule
- Doctrine 2
- etc ...

Dans ce cas là tu as tellement de dépendances que le faire à la main est très très très très laborieux et chiant. De plus tu as de grandes chances de te louper et que ça ne fonctionne pas.
Tu n'as pas besoin de créer de variable d'environnement si le ZF2 est dans le dossier vendor smile.

Hors ligne

 

#5 11-04-2013 16:42:41

YannickDa
Membre
Date d'inscription: 05-04-2013
Messages: 29
Site web

Re: [Résolu] Installer et débuter avec Zend Framework 2

Orkin a écrit:

Le Virtual Host n'est pas obligatoire mais ça évite d'avoir des url de ce genre http://monappli.local/public/ à la place tu auras seulement http://monappli.local ça fait donc plus propre et ça permet d'éviter au visiteur de remonter dans les dossiers dont il n'a pas le droit d'aller. Ensuite tu as un fichier .htaccess qui permet de faire de la réécriture d'url pour rediriger toutes les requêtes vers le fichier index.php situé dans le dossier public et c'est ensuite ce fichier qui va lancer l'application (au sens ZF) et déclencher ce qui va bien pour que l'application (au sens web) fonctionne.

On est bien d'accord que le VirtualHost n'est pas obligatoire pour une application locale. Par contre, sur un serveur elle est strictement obligatoire. Au delà de l'estétisme c'est une question de sécurité.

Avec le ZF2 les risques sont moindres car on utilise beaucoup plus de fichiers php pour la conf mais j'ai eu l'occasion d'intervenir dans des projet ZF1 où la config de BDD étaient de simples fichier texte et le DocumentRoot du VirtualHost n'était pas correctement défini et là c'est la porte ouverte...

biloute a écrit:

Je comprends maintenant que l'arborescence de répertoires (partie applicatif) ne constitue pas le Framework, cependant ZF2 ne pourrait fonctionner dans celle-ci.

Si justement. Tu peux très bien utiliser des composants de ZF2 sans forcément utiliser la partie MVC du ZF2. Tu peux te retrouver avec un projet PHP qui utilise Zend\Db sans forcément utiliser toute la partie applicatif MVC de ZF2.

C'est pour cela que SkeletonApplication est séparé du framework.

Hors ligne

 

#6 11-04-2013 17:15:07

biloute
Membre
Date d'inscription: 01-04-2013
Messages: 19

Re: [Résolu] Installer et débuter avec Zend Framework 2

Orkin a écrit:

Tu n'as pas besoin de créer de variable d'environnement si le ZF2 est dans le dossier vendor smile.

J'avais lu effectivement que le framework était attendu dans le répertoire ZF2, mais j'avais des doutes sur ma façon de faire car après avoir lancer de composer, j'ai trouvé mon Framework dans cette arbo : "vendor/zendframework/zendframework" au lieu de "vendor/ZF2".

YannickDa a écrit:

Si justement. Tu peux très bien utiliser des composants de ZF2 sans forcément utiliser la partie MVC du ZF2. Tu peux te retrouver avec un projet PHP qui utilise Zend\Db sans forcément utiliser toute la partie applicatif MVC de ZF2.

Ha mais oui effectivement, j'avais oublié qu'on pouvait dissocier la partie MVC de Zend... Petite question au passage : tu dis qu'on peut utiliser Zend/Db seul, cela signifie qu'il ne dépend pas d'autre module (ou alors composer s'en occupe). -> Tous les "modules" tels que Db (Zend/MonModule) sont-ils prévus pour être indépendant et pour être utilisés éventuellement seuls ?

En tout cas, merci pour votre aide, ça me donne vraiment envie de m’investir dans ce Framework ! wink

Hors ligne

 

#7 11-04-2013 17:21:10

YannickDa
Membre
Date d'inscription: 05-04-2013
Messages: 29
Site web

Re: [Résolu] Installer et débuter avec Zend Framework 2

biloute a écrit:

tu dis qu'on peut utiliser Zend/Db seul, cela signifie qu'il ne dépend pas d'autre module (ou alors composer s'en occupe). -> Tous les "modules" tels que Db (Zend/MonModule) sont-ils prévus pour être indépendant et pour être utilisés éventuellement seuls ?

C'est bien la force de ce Framework. Chaque composant reste le plus possible indépendant l'un de l'autre. Par contre, tu peux retrouver des fonctionnalités spécifique pour un composant qui peut dépendre d'autre composant (Par exemple tout ce qui est à base de Factory ou de ServiceManager...).

Tu trouvera dans chaque dossier des composants un fichier composer.json qui défini bien les dépendances avec d'autres composants par exemple.

Hors ligne

 

#8 11-04-2013 17:25:43

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

Re: [Résolu] Installer et débuter avec Zend Framework 2

YannickDa a écrit:

Avec le ZF2 les risques sont moindres car on utilise beaucoup plus de fichiers php pour la conf mais j'ai eu l'occasion d'intervenir dans des projet ZF1 où la config de BDD étaient de simples fichier texte et le DocumentRoot du VirtualHost n'était pas correctement défini et là c'est la porte ouverte...

C'est pour ça que je dis que ça permet d'éviter de remonter l'arborescence :p.

Hors ligne

 

#9 11-04-2013 17:27:52

YannickDa
Membre
Date d'inscription: 05-04-2013
Messages: 29
Site web

Re: [Résolu] Installer et débuter avec Zend Framework 2

Orkin a écrit:

YannickDa a écrit:

Avec le ZF2 les risques sont moindres car on utilise beaucoup plus de fichiers php pour la conf mais j'ai eu l'occasion d'intervenir dans des projet ZF1 où la config de BDD étaient de simples fichier texte et le DocumentRoot du VirtualHost n'était pas correctement défini et là c'est la porte ouverte...

C'est pour ça que je dis que ça permet d'éviter de remonter l'arborescence :p.

Oui j'avais bien lu mais je voulais juste mettre en avant l'aspect sécuritaire pour bien qu'il comprenne l'importance smile

Hors ligne

 

#10 11-04-2013 18:19:53

biloute
Membre
Date d'inscription: 01-04-2013
Messages: 19

Re: [Résolu] Installer et débuter avec Zend Framework 2

YannickDa a écrit:

Orkin a écrit:

YannickDa a écrit:

Avec le ZF2 les risques sont moindres car on utilise beaucoup plus de fichiers php pour la conf mais j'ai eu l'occasion d'intervenir dans des projet ZF1 où la config de BDD étaient de simples fichier texte et le DocumentRoot du VirtualHost n'était pas correctement défini et là c'est la porte ouverte...

C'est pour ça que je dis que ça permet d'éviter de remonter l'arborescence :p.

Oui j'avais bien lu mais je voulais juste mettre en avant l'aspect sécuritaire pour bien qu'il comprenne l'importance smile

Ne vous battez pas pour ça, j'avais bien compris ce passage big_smile

Hors ligne

 

#11 11-04-2013 18:20:49

YannickDa
Membre
Date d'inscription: 05-04-2013
Messages: 29
Site web

Re: [Résolu] Installer et débuter avec Zend Framework 2

On ne se bat pas smile

Hors ligne

 

#12 11-04-2013 18:27:11

biloute
Membre
Date d'inscription: 01-04-2013
Messages: 19

Re: [Résolu] Installer et débuter avec Zend Framework 2

Merci pour vos explications, je pense avoir une meilleure approche du framework, je vais continuer mes essais.

J'ai acheté le bouquin "au coeur de Zend Framework 2", vous connaissez ? il est bien ? Pour ma part, il m'a l'air assez complexe et parfois pas assez d'explication. Je verrai avec le temps smile

Hors ligne

 

#13 11-04-2013 18:30:00

YannickDa
Membre
Date d'inscription: 05-04-2013
Messages: 29
Site web

Re: [Résolu] Installer et débuter avec Zend Framework 2

Je l'ai acheté et il est sur ma table de nuit mais pas le temps de le lire sad
J'ai la version PDF mais ca ne m'aide finalement pas plus à le lire :p

Néanmoins j'ai pris le temps de lire certaine partie du livre et effectivement c'est très technique comme bouquin. Presque trop d'ailleurs !

Hors ligne

 

#14 11-04-2013 18:40:55

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

Re: [Résolu] Installer et débuter avec Zend Framework 2

Il faut un certain niveau pour pouvoir appréhender ce livre. Il en existe un autre plus facile d'accès mais je ferais un article avant la fin du mois à son sujet wink.

Hors ligne

 

#15 11-04-2013 18:56:01

biloute
Membre
Date d'inscription: 01-04-2013
Messages: 19

Re: [Résolu] Installer et débuter avec Zend Framework 2

Orkin a écrit:

Il faut un certain niveau pour pouvoir appréhender ce livre. Il en existe un autre plus facile d'accès mais je ferais un article avant la fin du mois à son sujet wink.

Un article sur le forum ? En fait je découvre également ce forum avec mon initiation à Zend big_smile

Hors ligne

 

#16 11-04-2013 22:06:40

aromatix
Membre
Lieu: paris - agadir
Date d'inscription: 12-03-2013
Messages: 20
Site web

Re: [Résolu] Installer et débuter avec Zend Framework 2

si tu utilise git seul tu peut aussi récupérer le skeleton + ZF2 d'un seul coup avec l'option --recursive si tu utilise git en ligne de commande
( git clone https://github......packet.git --recursive )

sous zindozs, en utilisant tortoise GIT tu a une option recursive aussi
installation : msysgit ( http://code.google.com/p/msysgit/downloads/list ) + tortoiseGIT (http://code.google.com/p/tortoisegit/ )

pour ma part j'utilise zftool : (enregistre le tel quel sur ton disk via un click-droit + enregistrer) https://packages.zendframework.com/zftool.phar
j'avai écrit un petit tuto : http://aromatix.fr/?p=180 )

utilisation : (en supposant que php est déclaré dans ton PATH )

Code:

php zftool.phar create project monprojet
cd monprojet
php composer.phar install

zftool étant déclaré dans mon path (unix) , pour un nouveau projet je me contente de :
zftool.phar create project monprojet

pour ajouter un module dans mon projet
zftool.phar create module monmodule

si tu utilise zend studio 10 tu crée un projet php et tu sélection zend framework 2 dans la fenètre qui s'ouvre puis tu valide (tu peut ajouter des modules, items ZF2 par un clic droit là où il faut etc...).
l'outil est puissant mais aussi une usine à gaz et je te conseil de désaciver le build automatic et enlever les projets que tu ajoute du buildpath etc... pour pas qu'il se mette à scanner tes sources intepestivement (

Dernière modification par aromatix (11-04-2013 23:05:46)

Hors ligne

 

#17 11-04-2013 23:11:00

biloute
Membre
Date d'inscription: 01-04-2013
Messages: 19

Re: [Résolu] Installer et débuter avec Zend Framework 2

Merci, j'étais déjà tombé sur ton blog, mais pas sur cet article. En effet c'est intéressant, je regarderai ce que donne ce zftool. La ligne de commande GIT également, mais je ne suis pas certain de pouvoir le faire avec ce que j'ai installé. J'ai juste Tortoise SVN sur windows.

Hors ligne

 

#18 03-05-2013 23:10:56

sebhm
Nouveau membre
Date d'inscription: 03-05-2013
Messages: 4

Re: [Résolu] Installer et débuter avec Zend Framework 2

Bonjour,
je debute moi aussi sur ZF2 et une question de biloute reste sans réponse (c'est pas vital donc c'est un peu normal mais ca m'intrigue moi aussi) :

biloute a écrit:

- Pourquoi il n'y a rien dans le répertoire "vendor/ZF2/" du Skeleton ?
Une fois le composer lancé, je m'attendais à voir le framework zend dedans. Or, il se trouve en fait dans : "vendor/zendframework/zendframework/"

merci de m'eclairer

Hors ligne

 

#19 04-05-2013 10:07:28

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

Re: [Résolu] Installer et débuter avec Zend Framework 2

Salut, parce qu'on peut le mettre à plusieurs endroits. Par convention le composer et donc git le mettent dans vendor/zendframework

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