Le 16/08/2016

Comment utiliser ZendStudio avec Magento

J'ai reçu un accès un peu en avance pour la sortie de Zend Studio 12.5 alors j'ai décidé de le tester (Merci à toute l'équipe de Zend)!

Zend Studio c'est quoi ?

Zend Studio c'est l'IDE de Zend qui se base sur Eclipse. Spécialisé pour développer en PHP, cet éditeur vous fournit pleins de petites fonctionnalités qui vous facilitent la vie.

Bien sur les fonctions de base d'un éditeur sont présentes, gestion de git, possibilité de mettre un thème à l'éditeur, gestion de la base de donnée, auto complétion, refactoring, etc..

Couplé avec Zend Server, l'IDE vous permettra de faire du debug pas à pas ou du profiling de votre application PHP vous permettant ainsi de résoudre facilement des bugs ou des problèmes de performance. Profitez également d'Apigility, de "Zend on the go", ou encore du déploiement sur le cloud...pour ces différentes parties je vous laisse découvrir l'éditeur sur le site de Zend (www.zend.com).

Zend Studio vous permet aussi d'ajouter des fonctionnalités via des modules ou des templates.
Dans ce tutoriel nous en ajouteront deux pour travailler avec magento:
- Le "magento plugin" qui vous permettra d'ajouter l'auto complétion sur les appels de type Mage::getModel('catalog/product')
- Les "magento snippets" qui vous permettront d'ajouter des templates de code qui vous permettront de générer du code magento.

L'auto complétion spécifique "magento"

Si vous avez utilisé un autre éditeur comme moi pendant longtemps vous savez surement que pour l'auto complétion PHP, pas de soucis en général c'est parfaitement bien géré. Le problème arrive avec magento parce que l'éditeur n’interprète pas les méthodes "factory" de magento. Dés qu'on fait un Mage::getModel('catalog/product') par exemple, fini l'auto complétion ! Difficile alors pour un développeur débutant de connaitre les méthodes qu'on peu utiliser, il faut alors parcourir le core de magento, allez dans le model concerné et voir les fonctions disponibles...c'est un peu old school maintenant ;) Alors la façon plus moderne pour le faire c'est d'installer un plugin qui permettra à votre éditeur d'interpréter ce genre de fonctions pour vous proposer l'auto complétion.

Sylvain Rayé a écrit un tutoriel a ce sujet en mai 2012, Le plugin n'a pas l'air d'avoir évolué beaucoup depuis cette date donc je ne vais pas reprendre tout le détail de son article, allez le lire sur l'article concernant le plugin eclipse sur son blog www.sylvainraye.com vous y trouverez également pleins d'autres articles.

Pour télécharger le plugin c'est par ici :
- magento-plugin.googlecode.com

Cliquez ensuite sur Help > Install Software, Add et ajoutez cette url en lui donnant un nom. Vous verrez alors apparaitre le plugin dans la liste juste en dessous, activez le et c'est fini !

Allez ensuite dans un de vos fichiers et vérifiez que l'auto complétion fonctionne correctement.

Les snippets

L'auto complétion c'est bien mais sur magento on fait plus ou moins tout le temps les mêmes choses, déclarer un model par exemple c'est toujours pareil. Pour cela, on va ajouter une série de templates "skelettes" dans notre éditeur. Il nous suffira ensuite de taper une commande texte dans l'éditeur pour faire appel au système de template. La commande texte sera alors remplacée par le code généré qu'il vous reste juste à customiser.

Pour télécharger le plugin c'est par ici :
- code.google.com/p/magento-snippets

Debugger son application magento avec Zend Studio et Zend Server

L'avantage de travailler avec Zend Studio c'est aussi de pouvoir débugger et profiler son application avec Zend Serveur directement dans son éditeur.
Zend Studio reconnait automatiquement que Zend Serveur est installé sur votre machine, vous allez donc pouvoir le connecter à la création de votre projet.
Une fois liée à Zend Server, vous pouvez profiler votre application et utiliser Z-Ray.

Le debugger : c'est un debuggeur "pas à pas" qui vous permet de définir des points d'arrets pour voir ce qui se passe dans vos variables lors de l’exécution de vos scripts. Ce système va vous aider à détecter les causes d'une éventuelle anomalie (+ ou - comme si vous utilisiez Xdebug).

Le profiler : c'est un outil qui vous permet de voir la pile d'appel php de votre page et d'avoir les informations sur la consommation de chaque fonction appelée dans votre script (équivalent à Xhprof).

La vidéo

C'est également la première vidéo de la chaine Youtube, soyez indulgent j'ai pas trop l'habitude de faire ce genre de tutoriel pour le moment mais ça va venir ;) Attention à bien regarder la video en HD pour voir correctement toutes les lignes de code.

Voilà, à la base j’utilisais pas vraiment l'environnement Zend pour débugger, je m'y suis penché lorsque j'ai vu apparaitre Z-Ray pour faire le premier tutoriel et je trouve ça vraiment pratique et plutôt bien foutu. Et vous est ce que vous avez testé ? Qu'en pensez vous ?
Les livres qui peuvent vous aider :
  • Livre Magento Developer's Guide by Alan Mc Gregor
  • Livre Magento Performance Optimization
  • Livre Grokking Magento Vinai
Commentaires sur cet article
Pas encore de commentaires pour cet article. Soyez le premier !

Vous devez être connecté pour commenter un article.