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. |