Comus Party 1.0.0
Application web de mini-jeux en ligne
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Router

Classe Router permettant de gérer les routes. Plus de détails...

Graphe de collaboration de Router:

Fonctions membres publiques

 get (string $url, callable $target, ?string $middleware=null)
 Ajout d'une route GET.
 
 post (string $url, callable $target, ?string $middleware=null)
 Ajout d'une route POST.
 
 put (string $url, callable $target, ?string $middleware=null)
 Ajout d'une route PUT.
 
 delete (string $url, callable $target, ?string $middleware=null)
 Ajout d'une route DELETE.
 
 matchRoute ()
 Permet d'accéder à la route demandée.
 
 __wakeup ()
 Empêche la désérialisation de l'instance.
 

Fonctions membres publiques statiques

static getInstance ()
 Permet de récupérer l'instance du Router.
 

Attributs protégés

array $routes = []
 

Fonctions membres privées

 __construct ()
 Constructeur de la classe Router.
 
 addRoute (string $method, string $url, callable $target, ?string $middleware=null)
 Permet d'ajouter une route au tableau de routes du Router.
 
 checkRouteAndCall (string $middleware, string $method, string $url)
 Permet de vérifier si une route existe.
 
 callFunctionFromRoute (string $routeUrl, callable $target, string $url)
 Permet d'appeler la fonction associée à la route.
 
 __clone ()
 Empêche le clonage de l'instance.
 

Attributs privés statiques

static Router $instance = null
 

Description détaillée

Classe Router permettant de gérer les routes.

La classe Router permet de gérer les routes de l'application. Elle stocke les routes, permet de les ajouter et enfin de les appeler et de vérifier si elles existent.

Définition à la ligne 22 du fichier Router.php.

Documentation des constructeurs et destructeur

◆ __construct()

__construct ( )
private

Constructeur de la classe Router.

Constructeur privé pour empêcher l'instanciation de la classe

Définition à la ligne 39 du fichier Router.php.

Documentation des fonctions membres

◆ __clone()

__clone ( )
private

Empêche le clonage de l'instance.

Renvoie
void

Définition à la ligne 228 du fichier Router.php.

◆ __wakeup()

__wakeup ( )

Empêche la désérialisation de l'instance.

Renvoie
void
Exceptions
ExceptionDans le cas où la désérialisation est tentée

Définition à la ligne 219 du fichier Router.php.

◆ addRoute()

addRoute ( string $method,
string $url,
callable $target,
?string $middleware = null )
private

Permet d'ajouter une route au tableau de routes du Router.

Paramètres
string$methodMéthode HTTP (GET, POST, PUT, DELETE)
string$urlURL demandée
callable$targetAction à effectuer
string | null$middlewareMiddleware à utiliser
Renvoie
void

Définition à la ligne 75 du fichier Router.php.

◆ callFunctionFromRoute()

callFunctionFromRoute ( string $routeUrl,
callable $target,
string $url )
private

Permet d'appeler la fonction associée à la route.

Paramètres
string$routeUrlURL de la route
callable$targetFonction à appeler
string$urlURL demandée par l'utilisateur
Renvoie
bool Retourne true si la fonction a été appelée, false sinon

Définition à la ligne 203 du fichier Router.php.

◆ checkRouteAndCall()

checkRouteAndCall ( string $middleware,
string $method,
string $url )
private

Permet de vérifier si une route existe.

Paramètres
string$middlewareMiddleware à vérifier
string$methodMéthode HTTP (GET, POST, PUT, DELETE)
string$urlURL demandée
Renvoie
bool Retourne true si la fonction a été appelée, false sinon

Définition à la ligne 186 du fichier Router.php.

◆ delete()

delete ( string $url,
callable $target,
?string $middleware = null )

Ajout d'une route DELETE.

Paramètres
string$urlURL demandée
callable$targetAction à effectuer
string | null$middlewareMiddleware à utiliser
Renvoie
void

Définition à la ligne 115 du fichier Router.php.

◆ get()

get ( string $url,
callable $target,
?string $middleware = null )

Ajout d'une route GET.

Paramètres
string$urlURL demandée
callable$targetAction à effectuer
string | null$middlewareMiddleware à utiliser
Renvoie
void

Définition à la ligne 62 du fichier Router.php.

◆ getInstance()

static getInstance ( )
static

Permet de récupérer l'instance du Router.

Renvoie
Router Instance du Router

Définition à la ligne 47 du fichier Router.php.

◆ matchRoute()

matchRoute ( )

Permet d'accéder à la route demandée.

Permet de vérifier si la route demandée existe. Si oui, on effectue ce qui a été défini pour cette route. Sinon, on lève une RouteNotFoundException

La gestion des Middlewares permet les cas suivant :

  • Si l'utilisateur n'est pas connecté, il ne peut accéder qu'aux routes définies pour les invités (guest)
  • Si l'utilisateur est connecté, il ne peut accéder qu'aux routes définies pour son rôle
  • Si une route est définie pour tous les rôles (*), elle est accessible par tous les utilisateurs (connectés ou non)
  • Si une route est définie pour tous les rôles mais nécessite une connexion (auth), elle est accessible par tous les utilisateurs connectés

Si aucune route ne correspond à la demande mais existe pour un autre rôle, on lève une UnauthorizedAccessException

Exceptions
RouteNotFoundExceptionDans le cas où la route demandée n'existe pas
UnauthorizedAccessExceptionDans le cas où l'utilisateur n'a pas les droits pour accéder à la route
ExceptionDans le cas où une autre exception est levée
Renvoie
void

Définition à la ligne 139 du fichier Router.php.

◆ post()

post ( string $url,
callable $target,
?string $middleware = null )

Ajout d'une route POST.

Paramètres
string$urlURL demandée
callable$targetAction à effectuer
string | null$middlewareMiddleware à utiliser
Renvoie
void

Définition à la ligne 91 du fichier Router.php.

◆ put()

put ( string $url,
callable $target,
?string $middleware = null )

Ajout d'une route PUT.

Paramètres
string$urlURL demandée
callable$targetAction à effectuer
string | null$middlewareMiddleware à utiliser
Renvoie
void

Définition à la ligne 103 du fichier Router.php.

Documentation des champs

◆ $instance

Router $instance = null
staticprivate

Définition à la ligne 28 du fichier Router.php.

◆ $routes

array $routes = []
protected

Définition à la ligne 33 du fichier Router.php.


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