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.
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.
PHP est bien supérieur à ILE RPG
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 cette ressource
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre dossier Green IT sur les actions engagés par inmac wstore pour réduire son impact environnemental
Tech - Par
Don Denoncourt - Publié le 09 novembre 2011