Paaxio 1.0
Plateforme de streaming musical - SAE IUT Bayonne
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Controller

Classe de base pour tous les contrôleurs de l'application. Plus de détails...

Graphe d'héritage de Controller:
Graphe de collaboration de Controller:

Fonctions membres publiques

 __construct (\Twig\Loader\FilesystemLoader $loader, \Twig\Environment $twig)
 Constructeur du contrôleur.
 
 call (string $method)
 Appelle une méthode du contrôleur de façon dynamique.
 
 getPDO ()
 Récupère la connexion PDO.
 
 setPDO (?PDO $pdo)
 Définit la connexion PDO.
 
 getLoader ()
 Récupère le chargeur de templates Twig.
 
 setLoader (?\Twig\Loader\FilesystemLoader $loader)
 Définit le chargeur de templates Twig.
 
 getTwig ()
 Récupère l'environnement Twig.
 
 setTwig (?\Twig\Environment $twig)
 Définit l'environnement Twig.
 
 getGet ()
 Récupère les données GET.
 
 setGet (?array $get)
 Définit les données GET.
 
 getPost ()
 Récupère les données POST.
 
 setPost (?array $post)
 Définit les données POST.
 

Fonctions membres protégées

 requireAuth (string $controller='', string $method='', array $params=[])
 Exige que l'utilisateur soit authentifié.
 
 requireRole ($requiredRole)
 Exige que l'utilisateur ait un rôle spécifique.
 
 redirectTo (string $controller, string $method, array $params=[])
 Redirige vers un contrôleur et une méthode donnés.
 
 show405 ()
 Affiche une erreur 405 Méthode non autorisée.
 
 requireAnyRole (array $allowedRoles)
 Exige que l'utilisateur ait un des rôles spécifiés.
 

Attributs privés

PDO $pdo
 
Twig Loader FilesystemLoader $loader
 
Twig Environment $twig
 
array $get = null
 
array $post = null
 

Description détaillée

Classe de base pour tous les contrôleurs de l'application.

Cette classe fournit les fonctionnalités communes à tous les contrôleurs :

  • Accès à la connexion PDO
  • Gestion des templates Twig
  • Récupération des données GET et POST
  • Authentification et contrôle des rôles
  • Redirection entre contrôleurs

Définition à la ligne 23 du fichier controller.class.php.

Documentation des constructeurs et destructeur

◆ __construct()

Controller::__construct ( \Twig\Loader\FilesystemLoader  $loader,
\Twig\Environment  $twig 
)

Constructeur du contrôleur.

Initialise la connexion à la base de données et configure Twig. Récupère également les variables GET et POST.

Paramètres
\Twig\Loader\FilesystemLoader$loaderChargeur de templates Twig.
\Twig\Environment$twigEnvironnement Twig.

Définition à la ligne 59 du fichier controller.class.php.

Références $loader, $twig, et bd\getInstance().

Voici le graphe d'appel pour cette fonction :

Documentation des fonctions membres

◆ call()

Controller::call ( string  $method)

Appelle une méthode du contrôleur de façon dynamique.

Vérifie si la méthode existe avant de l'appeler. Affiche une page 404 si la méthode n'existe pas.

Paramètres
string$methodNom de la méthode à appeler.
Renvoie
mixed Résultat de la méthode appelée.

Définition à la ligne 85 du fichier controller.class.php.

Références getTwig().

Voici le graphe d'appel pour cette fonction :

◆ getGet()

Controller::getGet ( )

Récupère les données GET.

Renvoie
array|null Tableau des paramètres GET ou null.

Définition à la ligne 165 du fichier controller.class.php.

Références $get.

Référencé par ControllerUtilisateur\resetPassword().

Voici le graphe des appelants de cette fonction :

◆ getLoader()

Controller::getLoader ( )

Récupère le chargeur de templates Twig.

Renvoie
\Twig\Loader\FilesystemLoader|null Chargeur de fichiers Twig.

Définition à la ligne 127 du fichier controller.class.php.

Références $loader.

◆ getPDO()

◆ getPost()

Controller::getPost ( )

Récupère les données POST.

Renvoie
array|null Tableau des paramètres POST ou null.

Définition à la ligne 184 du fichier controller.class.php.

Références $post.

Référencé par ControllerNewsletter\ajouter(), ControllerUtilisateur\demanderReinitialisation(), ControllerUtilisateur\signin(), ControllerUtilisateur\signup(), et ControllerUtilisateur\traiterReinitialisation().

Voici le graphe des appelants de cette fonction :

◆ getTwig()

Controller::getTwig ( )

Récupère l'environnement Twig.

Renvoie
\Twig\Environment|null Environnement Twig.

Définition à la ligne 146 du fichier controller.class.php.

Références $twig.

Référencé par ControllerAdmin\afficher(), ControllerAlbum\afficher(), ControllerBattle\afficher(), ControllerChanson\afficher(), ControllerFichier\afficher(), ControllerGenre\afficher(), ControllerMusique\afficher(), ControllerNewsletter\afficher(), ControllerPlaylist\afficher(), ControllerRole\afficher(), ControllerAlbum\afficherDetails(), ControllerUtilisateur\afficherErreurToken(), ControllerAlbum\afficherFormulaireAjout(), ControllerHome\afficherGenerales(), ControllerHome\afficherLegales(), ControllerUtilisateur\afficherMesLikes(), ControllerUtilisateur\afficherMotDePasseOublie(), ControllerUtilisateur\afficherProfilArtiste(), ControllerNewsletter\ajouter(), ControllerHome\artisteDashboard(), ControllerHome\auditeurDashboard(), call(), ControllerHome\connect(), ControllerAdmin\consulter(), ControllerUtilisateur\demanderReinitialisation(), ControllerChanson\filtrerChanson(), ControllerHome\homeBienvenue(), ControllerUtilisateur\inscription(), ControllerAlbum\lister(), ControllerBattle\lister(), ControllerChanson\lister(), ControllerFichier\lister(), ControllerGenre\lister(), ControllerPlaylist\lister(), ControllerRole\lister(), ControllerAlbum\listerTableau(), ControllerBattle\listerTableau(), ControllerChanson\listerTableau(), ControllerFichier\listerTableau(), ControllerGenre\listerTableau(), ControllerPlaylist\listerTableau(), ControllerRole\listerTableau(), ControllerAdmin\modifier(), ControllerHome\openDashboard(), ControllerChanson\rechercherParAlbum(), ControllerChanson\rechercherParTitre(), requireAnyRole(), requireRole(), ControllerUtilisateur\resetPassword(), ControllerHome\session(), show405(), et ControllerUtilisateur\signup().

◆ redirectTo()

Controller::redirectTo ( string  $controller,
string  $method,
array  $params = [] 
)
protected

Redirige vers un contrôleur et une méthode donnés.

Construit une URL avec les paramètres fournis et effectue une redirection HTTP.

Paramètres
string$controllerNom du contrôleur (ex: "home").
string$methodNom de la méthode (ex: "afficher").
array$paramsParamètres additionnels sous forme clé => valeur (facultatif).
Renvoie
void Quitte le script après la redirection.

Définition à la ligne 291 du fichier controller.class.php.

Référencé par ControllerAlbum\afficher(), ControllerHome\afficher(), ControllerPlaylist\afficher(), ControllerAlbum\afficherDetails(), ControllerAlbum\afficherFormulaireAjout(), ControllerUtilisateur\afficherProfilArtiste(), ControllerNewsletter\ajouter(), ControllerAlbum\ajouterAlbum(), ControllerHome\connect(), ControllerAdmin\consulter(), ControllerUtilisateur\inscription(), ControllerUtilisateur\logout(), ControllerAdmin\modifier(), ControllerAlbum\modifierChanson(), requireAuth(), ControllerAdmin\supprimer(), et ControllerAlbum\supprimerChanson().

Voici le graphe des appelants de cette fonction :

◆ requireAnyRole()

Controller::requireAnyRole ( array  $allowedRoles)
protected

Exige que l'utilisateur ait un des rôles spécifiés.

Affiche une erreur 403 si le rôle de l'utilisateur ne correspond à aucun des rôles autorisés. Appelle requireAuth() en interne pour vérifier l'authentification.

Paramètres
array$allowedRolesTableau des rôles autorisés (RoleEnum ou string).
Renvoie
void Quitte le script si l'utilisateur n'a aucun des rôles requis.

Définition à la ligne 337 du fichier controller.class.php.

Références getTwig(), et requireAuth().

Voici le graphe d'appel pour cette fonction :

◆ requireAuth()

Controller::requireAuth ( string  $controller = '',
string  $method = '',
array  $params = [] 
)
protected

Exige que l'utilisateur soit authentifié.

Redirige vers la page de connexion si l'utilisateur n'est pas connecté. L'URL de redirection après connexion peut être construite à partir des paramètres.

Paramètres
string$controllerNom du contrôleur pour la redirection après connexion (ex: "playlist").
string$methodNom de la méthode pour la redirection après connexion (ex: "afficher").
array$paramsParamètres additionnels sous forme clé => valeur (facultatif).
Renvoie
void Quitte le script si l'utilisateur n'est pas authentifié.

Définition à la ligne 210 du fichier controller.class.php.

Références redirectTo().

Référencé par ControllerMusique\afficher(), ControllerPlaylist\afficher(), ControllerUtilisateur\afficherMesLikes(), requireAnyRole(), requireRole(), et ControllerChanson\toggleLike().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ requireRole()

Controller::requireRole (   $requiredRole)
protected

Exige que l'utilisateur ait un rôle spécifique.

Affiche une erreur 403 si le rôle de l'utilisateur ne correspond pas au rôle requis. Appelle requireAuth() en interne pour vérifier l'authentification.

Paramètres
string | RoleEnum$requiredRoleLe rôle requis (RoleEnum ou string).
Renvoie
void Quitte le script si l'utilisateur n'a pas le rôle requis.

Définition à la ligne 247 du fichier controller.class.php.

Références getTwig(), et requireAuth().

Référencé par ControllerAdmin\afficher(), ControllerAlbum\afficherFormulaireAjout(), ControllerAlbum\ajouterAlbum(), ControllerAdmin\consulter(), ControllerUtilisateur\inscription(), ControllerAdmin\modifier(), ControllerAlbum\modifierChanson(), ControllerAdmin\supprimer(), et ControllerAlbum\supprimerChanson().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ setGet()

Controller::setGet ( ?array  $get)

Définit les données GET.

Paramètres
array | null$getNouveau tableau de paramètres GET.
Renvoie
void

Définition à la ligne 175 du fichier controller.class.php.

Références $get.

◆ setLoader()

Controller::setLoader ( ?\Twig\Loader\FilesystemLoader  $loader)

Définit le chargeur de templates Twig.

Paramètres
\Twig\Loader\FilesystemLoader | null$loaderNouveau chargeur de fichiers.
Renvoie
void

Définition à la ligne 137 du fichier controller.class.php.

Références $loader.

◆ setPDO()

Controller::setPDO ( ?PDO  $pdo)

Définit la connexion PDO.

Paramètres
PDO | null$pdoNouvelle connexion à la base de données.
Renvoie
void

Définition à la ligne 118 du fichier controller.class.php.

Références $pdo.

◆ setPost()

Controller::setPost ( ?array  $post)

Définit les données POST.

Paramètres
array | null$postNouveau tableau de paramètres POST.
Renvoie
void

Définition à la ligne 194 du fichier controller.class.php.

Références $post.

◆ setTwig()

Controller::setTwig ( ?\Twig\Environment  $twig)

Définit l'environnement Twig.

Paramètres
\Twig\Environment | null$twigNouvel environnement Twig.
Renvoie
void

Définition à la ligne 156 du fichier controller.class.php.

Références $twig.

◆ show405()

Controller::show405 ( )
protected

Affiche une erreur 405 Méthode non autorisée.

Affiche une page d'erreur 405 avec un message explicite et quitte le script.

Renvoie
void

Définition à la ligne 314 du fichier controller.class.php.

Références getTwig().

Référencé par ControllerUtilisateur\demanderReinitialisation(), ControllerUtilisateur\signin(), ControllerUtilisateur\signup(), et ControllerUtilisateur\traiterReinitialisation().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

Documentation des données membres

◆ $get

array Controller::$get = null
private

Définition à la ligne 43 du fichier controller.class.php.

Référencé par getGet(), ControllerUtilisateur\resetPassword(), et setGet().

◆ $loader

◆ $pdo

◆ $post

◆ $twig


La documentation de cette classe a été générée à partir du fichier suivant :