Version 1.0.0 - 2006/01/31

3.1 Tour d’horizon

Voici un bref aperçu des possibilités du  framework :

o    localisation des définitions de classes.
o    création dynamique d’objets.
o    message système( log, information utilisateur, etc. ).
o    concept d’application web ( orienté objet ).
o    concept de groupe d’applications ( orienté objet ).
o    concept session ( orienté objet ).
o    concept requête http ( orienté objet ).
o    authentification utilisateur.
o    moteur de template.
o    internationalisation.
o    contrôle automatique de formulaire.
o    contrôle de la navigation ( enchaînement des écrans ).
o    couche d’abstraction pour accès aux bases de données.
o    mapping objet / relationnel.
o    manipulation des fichiers ( orienté objet ).
o    manipulation des listes ( orienté objet ).
o    manipulation des énumérations ( orienté objet ).
o    manipulation des hash tables.
o    tests unitaires.  
Voici à quoi ressemblerons vos templates. Vous apprécierez, comme les éditeurs de logiciels, qu’elles ne sont pas dénaturées. Le framework s’intègre dans votre code html grâce à des tagues simples. Aucun code php ne vient polluer votre présentation, ce qui facilite sa maintenance.
Le bug, pire ennemie du développeur, se présente de plusieurs manières. Il peut s’agir d’une erreur de syntaxe (PHP est langage interprété, mais si vous êtes muni d’un bon éditeur elles seront limitées), de logique causée par un manque d’attention, etc.  Une bonne partie peut être éliminée lors des tests unitaires. Pour ceux qui ne sont pas détectés, les affaires se compliquent. Ils seront découverts lors des tests de l’application dans son ensemble. Il serait alors assez difficile de retrouver la cause si nous ne disposions pas des éléments nécessaires. Une partie du framework est consacré à gestion des messages systèmes. Depuis les couches basses les exceptions sont traitées rigoureusement, il est ainsi possible re remonter à la source en analysant le journal de message.
L’époque du code dans les pages html est révolue. Le « code » de vos applications est remplacé par un ensemble de classes qui forme un groupe cohérent. L’interconnexion avec les templates se fait grâce aux tagues. Nous aurons l’occasion d’approfondir le sujet, sachez juste que le concept suis le model MVC2, où les modèles dérivent tous d’une classes particulière capable de converser son état au cours de toute la session. Ce dernier point est une nouveauté pour les développeurs PHP, toujours contraint de manipuler la session PHP à un très bas niveau.
Il existait déjà des technologies permettant d’accéder aux bases de données de manière uniforme. L’idée était donc de proposer une solution plus évoluée. Une partie du framework est consacrée au à la gestion de la persistance et la manipulation des données. Pour les mêmes raisons qui nous ont poussées à séparer le code HTML et PHP, nous avons séparé le code PHP et le code SQL. Nous avons opté pour un système de driver couplé à des connexions et des transactions. Des nouveaux concepts ont été ajoutés comme accéder aux sources de données par référence (qui pointe sur des URL spécifiques à chaque SGBD), la gestion du niveau d’isolation des transactions, les séquences numériques (auto incrémentation) et une vision totalement orientée objet.
Les processus mis en œuvre lors du transport des données d’une couche à une autre est appelés « Exchange ». Vous pouvez décrire la façon d’échanger les objets dans un fichier XML (fichier de mapping). La syntaxe est simple et intuitive. En vous dotant d’un éditeur XML avancé, vous n’aurez aucune difficulté à décrire de gros objets. Une section est réservée à ce sujet.
Vous avez l’occasion d’observer un exemple d’utilisation d’une partie du framework consacrée aux tests unitaires et à l’envoi de messages électroniques. L’encapsulation de la fonction PHP mail() nous permet de nous affranchir de la manipulation des en-têtes SMPT. Vous pouvez composer aisément des messages complexes à plusieurs type de contenu.

 

© 2005 Réoka Djohou, tous droits réservés.