Framework Lévrier

Tout comme le lévrier, le Framework que nous utilisons est taillé pour la course.

Un Framework peut être vu comme un plan de travail et une boite à outils plus ou moins équipée. Lévrier offre un ensemble de classes et de fonctions usuelles et organise les fichiers de manière claire et structurée. Il est ainsi plus simple de s'y retrouver et la maintenance s'en trouve grandement facilitée et accélérée.

Il évolue à chaque projet. Nous enlevons l'inutile, ajoutons le nécessaire pour toujours plus d'efficacité. Sans fioritures les performances sont améliorées et seul les codes nécessaires sont exécutés.

Cette quête permanente engendre un outil qui reste simple et logique.

Voici les principaux avantages d'un code sur-mesure :

  • Une grande liberté et une maîtrise du code : alors n'hésitez pas à nous faire part de vos idées les plus extravagantes !
  • Un confort de navigation accrue car les pages sont générées et délivrées très rapidement.
  • Viser la performance implique une meilleure compréhension du besoin.
  • Moins de ligne de code le rend plus simple à maintenir.
  • Un code performant diminue la consommation de ressources serveur.

Exemple d'utilisation du Lévrier

Objectifs

Présentation du code nécessaire au fonctionnement d'un système d'article simple, composé de deux pages, l'une pour saisir un article et l'autre pour les lister.

Rendu de la page de la liste des articles Rendu de la page du formulaire de saisie des articles
Page qui liste les articles [1] Page avec le formulaire de saisie [2]

Préparation

Structure de la table qui accueillera les articles :

Structure de la table article.

Nous séparons le traitement de l'affichage dans deux fichiers distinct afin de faciliter la maintenance.

L'organisation des fichiers :

  • article.php [1]
  • article-form.php [2]
  • pat/
    • article_p.php [1]
    • article-form_p.php [2]
  • inc/
    • article_class.php [3]
    • article_ls_class.php [4]
    • init.php
    • reqo_class.php
    • objet_class.php
    • form/
      • liste_form_class.php
      • texte_form_class.php
      • chaine_form_class.php
      • ...
    • ...

Programmation

Nous allons avoir besoin de deux classes, l'une pour représenter les articles[3] et l'autre pour les parcourir[4] :

Code de la classe article [3]La classe objet redéfinit le comportement des objets grâce aux méthodes magiques et définit un constructeur permettant d'hydrater un objet avec un tableau de valeurs.
Code de la classe article_ls [4] La classe "reqo" automatise la pagination ainsi que l'hydratation des objets lors du parcours du résultat de la requête.

Voici les deux fichiers de la page listant les articles [1] :

Code du fichier de traitement de la page article. Ici nous définissons simplement un objet à partir de notre classe "article_ls". La variable sera automatiquement disponible dans le patron correspondant.
Code du fichier de patron de la page article.

Utilisation de la syntaxe alternative de php dans les patrons.

Ligne 3 : la fonction « u » réécrit l'url à partir des règles de réécriture du fichier ".htaccess".

Ligne 7 et 9 : cette syntaxe fait appel aux méthodes d'affichages du champ correspondant. Ici la méthode par défaut est appelée car nous n'avons pas redéfinis de méthodes d'affichages.

Passons à la page du formulaire [2] :

Code du fichier de traitement de la page article-form.

Ligne 4 à 6 : on déclare un formulaire avec deux champs.

Ligne 14 : si le formulaire est soumis et validé, alors on hydrate le nouvel objet "article" avec le résultat du formulaire (nous avons fait correspondre les noms des champs pour que cela soit possible).

Ligne 15 : enregistrement de l'article en base de données. Cette fonction analyse la classe de l'objet pour connaître les champs et l'action à effectuer pour créer la requête sql d'insertion ou de mise à jour.

Code du fichier de patron de la page article-form. Ici, nous remplaçons le formulaire par un message de confirmation s'il a été soumis et validé.

Conclusion

Cet exemple très simple illustre les bases du Framework Lévrier :

  • Séparation des traitements de l'affichage et passage transparent des variables au patron.
  • La fonction "u" pour les url ; elle permet de savoir de quels fichiers on parle dans le code et elle traduit l'url à l'aide des règle de réécriture lors de l'affichage.
  • Le comportement de php a été modifié pour simplifier la syntaxe dans les patrons.
  • Les tâches récurrentes sont prises en charge par le Framework, ici : vérification des formulaires et enregistrement en base de données.
  • Les classes sont incluses automatiquement lorsqu'elles sont nécessaires.
  • Par défaut, les textes sont sécurisés lors de leur affichage.

GOSSET Thomas, 7 rue des Clefs, 68000 COLMAR
07 83 01 69 74 - contact@exor-site.com
N°SIREN : 799 129 226 00012
Mentions légales