2026-03-20 11:40:11 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Domain;
|
|
|
|
|
|
|
|
|
|
use App\Http\Route;
|
|
|
|
|
|
|
|
|
|
abstract class Controller {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Va permettre de créer une route en préremplissant certains arguments.
|
|
|
|
|
* Pour les paramètres, veuillez voir le constructeur d'une Route.
|
|
|
|
|
*
|
|
|
|
|
* @param mixed ...$args
|
|
|
|
|
* @return Route
|
|
|
|
|
*
|
|
|
|
|
* @see Route::__construct()
|
|
|
|
|
*/
|
|
|
|
|
public static function Route( ...$args ): Route {
|
|
|
|
|
$defaults = [
|
|
|
|
|
'routeController' => static::class,
|
|
|
|
|
'routeMethods' => [ 'GET' ],
|
2026-03-20 14:32:58 +01:00
|
|
|
'pageHeadTitle' => 'Page',
|
2026-03-20 11:40:11 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
$args = array_merge($defaults, $args);
|
|
|
|
|
return new Route( ...$args );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Permet de définir les routes du controller sous le format d'une liste d'objets Route.
|
|
|
|
|
* Vous pouvez utiliser la method self::Route() pour préremplir des champs.
|
|
|
|
|
*
|
|
|
|
|
* @return Route[]
|
|
|
|
|
* @see self::Route()
|
|
|
|
|
*/
|
|
|
|
|
abstract public static function defineRoutes(): array;
|
|
|
|
|
|
|
|
|
|
}
|