Cours PHP : Architecture Générale des Contrôleurs
Documents the PHP source code examples for the Web Programming lectures on http://malgouyres.org
|
CCoursPHP\Metier\Adresse | Contient les données de l'adresse d'une personne (qui peut être un client, un employé, un fournisseur, etc...) |
CCoursPHP\Metier\AdresseFabrique | Implé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\AdresseFormView | Implé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\AdresseGateway | Permet 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\AdresseValidation | Permet 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\AdresseView | Implé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\Authentication | Permet d'initier une session après saisie du login/password. Permet aussi de restaurer la session d'un utilisateur déjà authentifié |
CCoursPHP\Auth\AuthUtils | Utilitaires de connection (validation REGEX du mot de passe) |
CCoursPHP\Config\Autoload | Classe 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\Config | Donne 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\ControleurAdminAdresse | Identifie 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\ControleurAdminPersonne | Identifie 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\ControleurAuth | Identifie 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\ControleurFront | Identifie 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\ControleurVisitorAdresse | Identifie 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\ControleurVisitorPersonne | Identifie 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\DataBaseManager | Permet 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\ExpressionsRegexUtils | Classe 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\FormManager | Cette 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\Model | Classe 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\ModelUser | Classe 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\ModelAdresse | Classe 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\ModelCollectionAdresse | Classe Modèle pour stocker une collection de Adresse |
CCoursPHP\Modele\ModelCollectionPersonne | Classe Modèle pour stocker une collection de Personnes |
CCoursPHP\Modele\ModelPersonne | Classe 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\Personne | Contient les données d'une personne qui peut être un client, un employé, un fournisseur, etc.. |
CCoursPHP\Metier\PersonneFabrique | Implé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\PersonneFormView | Implé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\PersonneGateway | Permet 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\PersonneValidation | Permet 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\PersonneView | Implé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\SessionUtils | Gè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\ValidationRequest | Validation les données de login/password reçues via $_REQUEST. Nettoyage de toutes les chaînes. Initialisation à vide des inputs inexistants |
CCoursPHP\Controleur\ValidationUtils | Permet 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\VueHtmlUtils | Classe 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) |