Cours PHP : Architecture Générale des Contrôleurs
Documents the PHP source code examples for the Web Programming lectures on http://malgouyres.org
Hiérarchie des classes
Cette liste d'héritage est classée approximativement par ordre alphabétique :
[Niveau de détails 12]
 CCoursPHP\Metier\AdresseContient les données de l'adresse d'une personne (qui peut être un client, un employé, un fournisseur, etc...)
 CCoursPHP\Metier\AdresseFabriqueImplémente la construction d'une instance d'Adresse validée à partir des données, par exemple saisies dans un formulaire. Les erreurs générées dans les validateurs des attributs, qui reflètent la logique métier, qui sont reçues via des exceptions, sont accumulées dans un tableau associatif d'erreurs, pour générer le cas échéant une vue d'erreur
 CCoursPHP\Vue\AdresseFormViewImplémente la génération de formulaire HTML de saisie d'Adresse Les formulaires peuvent être vierges ou pré-remplis avec d'éventuels messages d'erreur sur la forme des attributs
 CCoursPHP\Persistance\AdresseGatewayPermet d'accéder/mettre à jour les données de la table Adresse dans la base de données (au moins les opérations CRUD). Les méthodes génèrent le code SQL pour des requêtes préparée, puis font appel à la classe Connection (DataBaseManager) pour préparer et exécuter les requêtes. Les méthodes retournent, selon la requête considérée, des instances ou collections d'instances d'Adresse, résultats d'une requête SELECT, ou ligne impactée par la requête (INSERT, UPDATE, DELETE). Les méthodes retournent les erreurs sur les données incorrectes dans un tableau associatif dataError, et pevent rejeter des exceptions en cas de problèmes d'accès à la BD (serveur inaccessible par exemple)
 CCoursPHP\Metier\AdresseValidationPermet la validation initiale des données d'une adresse. Typiquement, les données qui viennent du client reçues (via $_REQUEST...) Nettoyage de toutes les chaînes. Initialisation des inputs inexistants
 CCoursPHP\Vue\AdresseViewImplémente la génération d'HTML pour afficher une Adresse dans une vue dans un navigareur. Implémente aussi des utilitaires de conversion à partir d'une Adresse pour obtenir facilement le code HTML pour afficher une Adresse
 CCoursPHP\Auth\AuthenticationPermet d'initier une session après saisie du login/password. Permet aussi de restaurer la session d'un utilisateur déjà authentifié
 CCoursPHP\Auth\AuthUtilsUtilitaires de connection (validation REGEX du mot de passe)
 CCoursPHP\Config\AutoloadClasse Autoload : permet de charger automatiquement les classes. La méthode autoloadCallback() permer de charger le code source d'une classe dont le nom est passé en paramètre. Pour cela, la méthode load() déclare autoloadCallback() par un appel à spl_autoload_register()
 CCoursPHP\Config\ConfigDonne accès aux paramères spécifiques concernant le déployement, telles que les chemins vers les vues, les vues d'erreur, les hash pour les ID de sessions, etc
 CCoursPHP\Controleur\ControleurAdminAdresseIdentifie l'action concernant des Adresse avec le rôle admin et appelle la méthode pour construire le modèle correspondant à l'action avec le rôle "admin". Le controleur appelle aussi la vue correspondante. Il ne gère pas les exceptions, qui remontent au Front Controller
 CCoursPHP\Controleur\ControleurAdminPersonneIdentifie l'action concernant des Personne avec le rôle admin et appelle la méthode pour construire le modèle correspondant à l'action avec le rôle "admin". Le controleur appelle aussi la vue correspondante. Il ne gère pas les exceptions, qui remontent au Front Controller
 CCoursPHP\Controleur\ControleurAuthIdentifie l'action concernant l'authentification et appelle la méthode pour construire le modèle pour l'action. Le controleur appelle aussi la vue correspondante. Il ne gère pas les exceptions, qui remontent au Front Controller
 CCoursPHP\Controleur\ControleurFrontIdentifie l'action et le rôle de l'utilisateur. Dans le cas où l'utilisateur a des droits insuffisants pour l'action, le ControleurFront affiche une vue d'autentification ou un vue d'erreur. Sinon, ControleurFront instancie le contrôleur adapté pour les rôle et action Il gère aussi les exceptions et appelle le cas échéant une vue d'erreur
 CCoursPHP\Controleur\ControleurVisitorAdresseIdentifie l'action concernant les Adresse avec le rôle de visitor et appelle la méthode pour construire le modèle correspondant à l'action. Le controleur appelle aussi la vue correspondante. Il gère aussi les exceptions et appelle le cas échéant une vue d'erreur
 CCoursPHP\Controleur\ControleurVisitorPersonneIdentifie l'action concernant une Personne pour le rôle Vvsitor et appelle la méthode pour construire le modèle correspondant à l'action. Le controleur appelle aussi la vue correspondante. Il ne gère pas les exceptions, qui remontent au Front Controller
 CCoursPHP\Persistance\DataBaseManagerPermet de gérer la connexion à une base de données (ici MySQL) L'exécution de requêtes SQL avec préparation "offerte service compris". La classe est gérée avec le pattern SINGLETON, qui permet d'avoir un exemplaire unique du gestionaire de connexion, pour une connexion persistante. La classe encapsule complètement PDO, y compris les exceptions
 CCoursPHP\Metier\ExpressionsRegexUtilsClasse de définitions d'Expressions Régulières d'usage général. Définit quelques expressions régulières utiles pour la langue locale supportée et les routines de test sur une chaîne correspondant
 CCoursPHP\Vue\FormManagerCette classe sert à faciliter la génération de formulaires HTML. Elle fournit de méthodes pour générer le début, la fin du formulaire, ainsi que les inputs, textarea et select avec les options de base. Les options complémentaires des inputs peuvent être sélectionnées via une variable $extraOptions des méthodes
 CCoursPHP\Modele\ModelClasse de base pour toutes les classes contenant des modèles. Cette classe vise seulement à factoriser le code concernant les données d'erreurs (tableau associatif dont les valeurs sont des messages d'erreur)
 CCoursPHP\Auth\ModelUserClasse Modèle pour les données de l'utilisateur e-mail (qui sert ici de login), rôle (visitor, admin, etc.) Les données peuvent venir d'une session ou d'un accès à la BD
 CCoursPHP\Modele\ModelAdresseClasse Modèle pour stocker une instance d'Adresse Construit un modèle de données pour les vues affichant une unique adresse. Les données peuvent venir d'un formulaire ou d'un accès à la DAL
 CCoursPHP\Modele\ModelCollectionAdresseClasse Modèle pour stocker une collection de Adresse
 CCoursPHP\Modele\ModelCollectionPersonneClasse Modèle pour stocker une collection de Personnes
 CCoursPHP\Modele\ModelPersonneClasse Modèle pour stocker une instance de Personne Construit un modèle de données pour les vues affichant une personne Les données peuvent venir d'un formulaire ou accès à la BD
 CCoursPHP\Metier\PersonneContient les données d'une personne qui peut être un client, un employé, un fournisseur, etc..
 CCoursPHP\Metier\PersonneFabriqueImplémente la construction d'une instance de Personne validée, à partir des données par exemple saisies dans un formulaire Les erreurs générées dans les méthodes de validation des attributs (reçues via des exceptions) sont accumulées dans un tableau associatif d'erreurs, pour générer le cas échéant une vue d'erreur
 CCoursPHP\Vue\PersonneFormViewImplémente la génération de formulairee HTML de saisie de Personne Les formulaires peuvent être vierges ou pré-remplis evc d'éventuels messages d'erreur sur la forme des attributs
 CCoursPHP\Persistance\PersonneGatewayPermet d'accéder/mettre à jour les données de la table Personne dans la base de données (au moins les opérations CRUD). Les méthodes génèrent le code SQL pour des requêtes préparée, puis font appel à la classe Connection (DataBaseManager) pour préparer et exécuter les requêtes. Les méthodes retournent, selon la requête considérée, des instances ou collections d'instances de Personne, résultats d'une requête SELECT, ou ligne impactée par la requête (INSERT, UPDATE, DELETE). Les méthodes retournent les erreurs sur les données incorrectes dans un tableau associatif dataError, et pevent rejeter des exceptions en cas de problèmes d'accès à la BD (serveur inaccessible par exemple)
 CCoursPHP\Metier\PersonneValidationPermet la validation initiale des données d'une Adresse Typiquement, les données qui viennent du client reçues (via $_REQUEST...) Nettoyage de toutes les chaînes. Initialisation des inputs inexistants
 CCoursPHP\Vue\PersonneViewImplémente la génération d'HTML pour afficher une Personne dans une vue dans un navigateur. Implémente aussi des utilitaires de conversion à partir d'une Adresse pour obtenir facilement le code HTML pour afficher une Adresse
 CCoursPHP\Auth\SessionUtilsGère le cycle de vie de la session (Identification utilisateur) génère des SID aléatoires, crée et met à jour le cookie pour le SID
 CCoursPHP\Auth\UserGateway
 CCoursPHP\Auth\ValidationRequestValidation les données de login/password reçues via $_REQUEST. Nettoyage de toutes les chaînes. Initialisation à vide des inputs inexistants
 CCoursPHP\Controleur\ValidationUtilsPermet la validation des données pour éviter les injections HTML Typiquement, les données reçues via $_REQUEST sont filtrées avant d'être affichées dans une page ou re-soumises dans un formulaire. Plusieurs politiques de filtrage (nettoyage ou échappement) sont prévues
 CCoursPHP\Vue\VueHtmlUtilsClasse d'utilitaires de génération de code HTML. Définit des méthodes pour générer l'en-tête et la fin d'un document, ainsi qu'un formulaire d'authentification (saisie login/password)