LaToileScoute - surfer  
Plante ta tente sur le web !
Accueil S'informer Discuter Surfer Jouer Echanger  
Rechercher
Graphisme
C est Cadeau !
  Images
Applications
Scripts
Goodies
Creation web
Annuaire
 
surfer > web > technique > php > experts
 
 

PHP Avancé

Maintenant que tu sais bien te servir de PHP, que tu sais de quoi le langage est capable et que tu as une bonne expérience du SQL, il te faut passer à une étape supérieure qui te permettront de réaliser des applications modulaires et génériques, tout en maîtrisant la gestion de la mémoire, des performances et de la sécurité.

Rendre son application modulaire avec les classes

Héritage de classe dont la classe mère est une interfaceQui dit modulaire, dit orienté objet... et donc utilisation de classes. Les classes sont un ensemble de variables et de méthodes regroupées en un bloc. Ces classes sont ensuite instanciées pour être utilisables, plusieurs instances de la même classe peuvent être utilisées en même temps. La grande force des classes réside dans leur faculté à abstraire l'information et à rendre les fonctionnalités génériques.

Plusieurs classes peuvent utiliser des types de membres identiques, dans ce cas il est judicieux de faire un héritage. Si tu as un livre d'initiation au C++, un exemple revient très souvent : celui des classes "carré", "rond", "losange" qui héritent tous de la classe "figure géométrique" sachant qu'un carré, un rond ou un losange est une figure géométrique particulière.

Une classe mère (qui n'hérite d'aucune autre) est appelée interface si elle est abstraite (c'est à dire non instanciable) et ne contient aucune donnée. Une interface est une sorte de "moule" qui sert de base à des classes qui ont des caractéristiques communes.

Rendre son application modulaire avec les templates

Si tu fais du PHP depuis un certain temps, on a souvent du te dire : "sépare le code php du code html". Utiliser les templates est une bonne chose, car cela provoque des interrogations utiles sur la modularité et la généricité de ton code. On utiliser souvent les templates via une librairie, la plus connue en php est la phplib qui est très pratique, mais tu peux créer ta propre librairie si ton application a des besoins spécifiques.

Qu'est-ce que la généricité ?

Plus un algorithme est générique, plus il couvre un nombre important de domaines. La généricité est contraire à la spécificité. Il est important de bien distinguer dans ton code les fonctions qui sont destinées à accomplir des tâches spécifiques et celles qui sont destinées à des tâches génériques. Cette séparation permet d'une part d'éviter les redondances de code, d'autre part d'assainir ta base de travail de manière à la rendre évolutive.

Tu dois tenir compte de la généricité de tes fonctions, mais aussi bien entendu de tes classes, de tes fichiers de code, de tes templates et de tous tes objets. Une librairie par exemple est faite pour être la plus générique possible et couvrir les besoins d'algorithmes les plus spécifiques possible.

Quelques subtilités liées à la gestion de la mémoire

Une fonction récursive est une fonction qui s'appelle elle-même. La récursivité permet de résoudre énormément de problèmes et de simplifier beaucoup d'algorithmes, tels que par exemple les parcours d'arborescences. Il faut faire cela dit très attention aux fonctions récursives car elles peuvent prendre énormément de place en mémoire. La "profondeur de parcours" d'un algorithme récursif doit être limitée, et la taille mémoire occupée par la fonction à chaque fois qu'elle est appelée doit toujours être réduite au minimum.

Concernant PHP Expert

Il y a énormément de concepts et outils à voir pour utiliser PHP de manière professionnelle. Les candidats lors des derniers WE de rencontre n'étaient pas très nombreux mais ils sont bien entendu invités à venir à plusieurs la prochaine fois :).

     

Auteur de la page : Guillaume Ponçon. Page créée le 03/04/2002
Fonctionnalités exploitées : Backend LTS (+ d'infos)
© LaToileScoute 2001 - 2008