37 lines
921 B
PHP
37 lines
921 B
PHP
|
|
<?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' ],
|
||
|
|
];
|
||
|
|
|
||
|
|
$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;
|
||
|
|
|
||
|
|
}
|