PHP : la bonne pratique

Apprendre les bonnes pratiques de programmation en PHP


précédentsommairesuivant

I. Pour démarrer

I-A. Utiliser la dernière version stable (7.0)

Si vous venez juste de commencer à utiliser PHP, prenez soin de débuter avec la dernière version stable de PHP. Le PHP a fait de grands progrès en ajout de puissantes fonctionnalités au cours des dernières années. Le moteur de PHP (Zend engine 3) a par ailleurs été largement réécrit pour être beaucoup plus rapide que les versions précédentes.

Vous trouverez encore de nombreuses références à PHP 5.x dont la dernière itération est la 5.6. Si vous vous retrouvez à maintenir du code 5.x, n'hésitez pas à migrer vers cette dernière version stable. La migration vers la version 7.0 reste néanmoins très aisée, car il n'existe pas énormément de changements incompatibles.

Ne vous laisser pas avoir par le numéro de version mineure entre PHP 5.2 et 5.6, cela représente d'importantes améliorations. Si vous cherchez des informations sur l'utilisation d'une fonction particulière, n'hésitez pas à consulter la documentation sur le site php.net.

I-B. Serveur web intégré

Vous pouvez commencer à apprendre PHP sans avoir à installer et configurer un serveur web (vous devrez utiliser au minimum PHP 5.4). Pour démarrer le serveur intégré, exécutez la ligne de commande suivante dans un terminal à la racine de votre projet :

php -S localhost:8000

Autres exemples d'utilisations de PHP en ligne de commande

I-C. Installation sous Mac

Le système d'exploitation OSX contient une version précompilée de PHP, mais est généralement en retard sur la dernière version stable. Lion contient la version 5.3.6, Moutain la 5.3.10 et Mavericks la 5.4.17.

Pour mettre à jour la version de PHP sur OSX vous pouvez passer via de nombreux gestionnaires de paquets, php-osx de Liip étant recommandé.

L'autre option est de le compiler soi-même. Dans ce cas, faites attention à ce que l'IDE Xcode soit installé ou bien son substitut en ligne de commande téléchargeable sur le Mac Developer Center d'Apple.

Pour une installation « tout-en-un » incluant PHP, le serveur web Apache et la base de données MySQL, le tout contrôlé par une jolie interface graphique, essayez MAMP ou XAMPP.

I-D. Installation sous Windows

PHP est disponible sous Windows de plusieurs façons. Vous pouvez télécharger les binaires et jusqu'à récemment, vous pouviez utiliser un installateur « .msi ». Cependant il n'est plus maintenu depuis la version 5.3.0.

Pour l'apprentissage et le développement en local, vous pouvez dorénavant utiliser le serveur intégré à PHP 5.4+, ainsi vous n'aurez plus à vous soucier de la configuration du serveur web. Si vous souhaitez un système « tout-en-un » incluant un serveur web et MySQL alors des outils tels que WPI, Zend Server CE, XAMPP ou encore WAMP vous permettront d'avoir un environnement de développement complet rapidement. Ceci étant dit, ces outils sont différents de ce que l'on trouve en production donc faites attention sur les différences d'environnement si vous travaillez sur Windows et déployez sur Linux.

Si vous désirez utiliser Windows comme plateforme de production alors, le serveur IIS7 vous donnera le meilleur compromis entre stabilité et performance. Vous pouvez utiliser phpmanager qui est un plugin graphique pour IIS7 afin d'effectuer les configurations nécessaires pour faire tourner PHP. IIS7 intègre FastCGI prêt à l'emploi, vous n'avez qu'à configurer PHP en tant qu'extension. Pour plus d'informations, visitez le site dédié sur iis.net.

I-E. Vagrant

Faire tourner vos applications sur différents environnements en développement et en production peut vous amener à rencontrer d'étranges bogues lorsque vous passez le code en production. Par ailleurs, il est difficile de maintenir différents environnements à jour avec les mêmes versions pour l'ensemble des bibliothèques utilisées lorsque vous travaillez en équipe.

Si vous développez sur Windows et que vous déployez votre code sur Linux (ou n'importe quoi qui ne soit pas Windows) ou que vous travaillez en équipe, vous devriez penser à utiliser une machine virtuelle. Cela peut paraître compliqué, mais utiliser Vagrant vous permet de mettre en place une machine virtuelle en seulement quelques étapes. Ces systèmes de base peuvent ensuite être configurés manuellement ou via des outils comme Puppet ou Chef. Configurer ces systèmes de façon automatisée est un bon moyen de s'assurer que les différents systèmes mis en place seront configurés de la même manière sans avoir à maintenir une liste de commandes pour l'installation. Vous pouvez aussi « détruire » votre système et en recréer un nouveau de façon entièrement automatisée, ce qui facilite les nouvelles installations.

Vagrant crée des dossiers partagés utilisés pour permettre à l'hôte et à la machine virtuelle d'accéder de façon bidirectionnelle à votre code ce qui signifie que vous pouvez créer et éditer vos fichiers sur le système hôte et exécuter votre code sur la machine virtuelle.

I-E-1. Un coup de pouce

Si vous avez besoin d'aide pour commencer à utiliser Vagrant, il existe trois services qui pourraient vous être utiles :

  • Rove : un service qui vous autorise à prégénérer des builds Vagrant typiques avec PHP. L'installation se fait avec Chef ;
  • Puphpet : une interface graphique simple pour mettre en place des machines virtuelles pour développer en PHP. Il se concentre énormément sur PHP. Par ailleurs, des VM locales peuvent être utilisées pour déployer des services cloud. L'installation se fait avec Puppet ;
  • Protobox : est composé d'une couche au-dessus de Vagrant et d'une interface web pour installer des machines virtuelles pour le développement web. Un seul document YAML contrôle tout ce qui peut être installé sur la machine virtuelle.

précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Licence Creative Commons
Le contenu de cet article est rédigé par Josh Lockhart et est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale 3.0 non transposé.
Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright © 2017 Developpez.com.