> Tech > Maîtrisez PHP

Maîtrisez PHP

Tech - Par Don Denoncourt - Publié le 09 novembre 2011
email

Vous avez lu les articles de System iNEWS, installé PHP, concocté une page Web, et vous voilà prêt à écrire une application PHP de production. Ne vous emballez pas !
 

Commencez par dresser un plan d'attaque. Si vous foncez tête baissée dans le développement PHP, le résultat risque fort d'être ingérable. En effet, la facilité de création d'applications Web avec PHP est à la fois son atout et son handicap. Cet article contient les meilleures pratiques que j'ai rencontrées sur le terrain pour le développement PHP : faites-les vôtres.

Ce dossier est issu de notre publication System iNews (07/09). Pour consulter les schémas et illustrations associés, rendez-vous dans le club abonnés.

Maîtrisez PHP


Porter des applications sur le web
est un jeu d’enfant avec PHP. Contrairement à Java, PHP ne vous oblige pas à utiliser la programmation orientée objet et diverses couches d’infrastructure applicative. Ni à utiliser des fonctions et encore moins des objets et des méthodes. Je dois vous mettre en garde contre la tendance à développer des applications PHP avec des pratiques de coding courantes en RPG II ou III. Par exemple, vous pouvez utiliser des variables globales en PHP. En RPG III et versions antérieures, toutes les variables du programme étaient globales. Vous pouvez aussi écrire toute votre logique PHP dans la mainline. Beaucoup des programmes RPG II avec lesquels j’ai travaillé, avaient d’énormes mainlines. Avec PHP, il semble à première vue que votre HTML doive être dispersé dans la logique de gestion : une stratégie qui ressemble beaucoup aux fichiers d’affichage définis par programme de RPG II. Par conséquent, ne programmez pas PHP comme un codeur RPG III, mais plutôt comme un programmeur ILE. Je parle bien sûr de programmation modulaire. Croyez-moi : PHP non modulaire est bien plus difficile à maintenir que RPG non modulaire.

Mais PHP est bien supérieur à ILE RPG en matière de programmation modulaire. Il supporte les structures de programmation et les modèles de conception (design patterns) orientés objet. Mais où les modèles de conception orientés objet conviennent-ils au tout début du développement avec PHP ? Je ne vous suggère pas de devenir des programmeurs orientés objet ni des experts en modèle de conception. Mais je vous incite à tirer parti de certains des frameworks existants qui facilitent l’utilisation des modèles de conception orientés objet. Ces modèles (patterns) incluent Model-View-Controller (MVC) et Data Access Object (DAO). MVC gère la logique de flux des pages et sépare la couche de présentation de la logique de gestion. Le modèle DAO fournit des enveloppes (wrappers) d’objets autour des entités de gestion et offre une couche d’abstraction de la base de données.

Parmi les nombreux frameworks qui conviennent à PHP, je suggère Zend Framework (framework.zend.com). Zend framework (ZF) n’a pas la même ancienneté que d’autres frameworks, mais il a été créé par le poids lourd de PHP : Zend. Et la société a fait un excellent travail avec son framework open source (read free). La philosophie de ZF est "use-at-will" (utiliser à volonté). C’est-à-dire que vous pouvez employer des morceaux de ZF quand vous le voulez. On est bien loin du couplage étroit et de la complexité de certains frameworks Java que j’ai utilisés.

Pour voir combien il est facile d’utiliser ZF, jetez un coup d’oeil à l’exemple PHP de la figure 1. Sample.php utilise l’adaptateur base de données Zend pour extraire un enregistrement par clé primaire, d’un fichier appelé NOSES. Vous pouvez assimiler la méthode fetchOne à une opération chaîne RPG. Le code PHP de base comparable, non-frameworks, pour faire la même extraction de données, contiendrait beaucoup plus de code et serait bien plus complexe. La classe adaptateur base de données fournit beaucoup d’autres méthodes utiles, outre fetchOne.
 

Téléchargez gratuitement cette ressource

5 clés de supervision Multi Cloud

5 clés de supervision Multi Cloud

A l’heure du Software Defined Everything (SDx) la conception et l’exploitation de logiciels sont plus complexes que jamais, ce nouvel eBook décrit les éléments clés à prendre en compte lors de la transition vers les technologies, les plates-formes et les éléments logiciels modernes afin de tirer tout le potentiel des solutions Multi cloud d'entreprise.

Tech - Par Don Denoncourt - Publié le 09 novembre 2011