Version 1.0.0 - 2006/01/31

5.3 Environnement d’exécution

La notion d’application est normalement implicite en PHP car il n’existe pas d’objet natif correspondant comme pour la session. Dans Noas PHP elle devient explicite avec l’apparition de la classe NoasApplicationContext. L’objectif était de regrouper tous les concepts propres à une application dans une seule classe. Elle a également le rôle de définir l’environnement d’exécution et le contexte de l’application. Toutes les applications doivent hériter de NoasApplicationContext. Vous devez spécifier une page d’erreur, que vous pouvez personnaliser. Elle sera appelée chaque fois qu’une exception sera relevé.
Grâce à cette classe nous pouvons spécifier ce que nous attendons d’une application, du point de vue système. La manière dont cela est fait est de votre responsabilité en dérivant les classes spécifiques selon votre orientation.
Un environnement comporte une session, une interface et une requête. C’est à l’application de choisir les implémentations à utiliser.
La première action qu’effectuera la plate-forme après avoir créé votre instance d’application est d’exécuter sa méthode NoasApplicationContext::intialize(). C’est à ce moment précis que vous devez initialiser tous les éléments qui le nécessitent comme charger les règles de validation ou définir des références de connexion ou des proxy (nous le verrons plus loing).

Classe de contexte d'application

<?php
Noas::import("noas.core.NoasUserRequest");
Noas::import("noas.core.NoasApplicationContext");

Noas::import("manager.core.ManagerUserSession");
Noas::import("manager.core.ManagerUserInterface");

class ManagerBackOffice extends NoasApplicationContext {
  function __construct() {
    parent::__construct(
                                "public/page/error".NOAS_PHP_EXTENSION);
  }
  protected function createSession(){
    return new ManagerUserSession();
  }
  protected function createInterface(){
    return new ManagerUserInterface();
  }
  protected function createRequest(){
    return new NoasUserRequest();
  }
  public function initialize(){
    parent::initialize();
    $this->loadRules("managerRules.properties", true);
  }
}
?>
Les règles de validation sont des associations « clef » et « expression régulière » qui sont utilisées pour valider des chaînes de caractères. Bien qu’initialement conçu pour valider les formulaires, rien ne vous empêche de les utiliser à des fins personnelles. Le fait de les mettre en association vous permet de faire évoluer vos règles de validation sans modifier votre code. Une simple édition du fichier de règles suffit.

Fichier de règles de validation

VALID_NAME="^[a-zA-Z][a-zA-Z0-9_-]*$"
ALPHANUMERIC="^[\w][\w]*$"
VALID_PROPERTIES="^[a-zA-Z]*(;[a-zA-Z]*)*$"
VALID_CLASS="^[a-zA-Z]*(\.[a-zA-Z]*)*$"

 

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