1. Générez le contrôleur
aml make:controller AboutAML crée src/controllers/AboutController.php. Un contrôleur est une classe PHP ordinaire qui hérite de Controller afin d’utiliser les outils du framework, notamment la méthode view().
2. Remplissez exactement ce fichier
src/controllers/AboutController.php
<?php
declare(strict_types=1);
namespace App\Controllers;
use PHPAML\Http\Request;
use PHPAML\Http\Response;
use PHPAML\Mvc\Controller;
final class AboutController extends Controller
{
public function index(Request $request): Response
{
return $this->view('about.php');
}
}index() est l’action appelée par la route. Request représente la demande reçue. Response garantit que l’action rend une réponse comprise par PHPAML. view('about.php') demande enfin le fichier src/views/about.php.
3. Créez la vue
src/views/about.php
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>À propos</title>
</head>
<body>
<main>
<h1>À propos de Reading List</h1>
<p>Ma première page PHPAML.</p>
</main>
</body>
</html>Cette vue contient du HTML parce que son travail est la présentation. Elle reste un fichier PHP : nous y afficherons bientôt des valeurs dynamiques.
4. Reliez l’adresse au contrôleur
src/routes/WebApp.php
<?php
declare(strict_types=1);
namespace App\Routes;
use App\Controllers\AboutController;
use App\Controllers\HomeController;
use PHPAML\Routing\Route;
final class WebApp extends Route
{
protected function routes(): void
{
$this->get('/', [HomeController::class, 'index']);
$this->get('/about', [AboutController::class, 'index']);
}
}get signifie que la page répond à une consultation normale du navigateur. Le tableau indique la classe puis la méthode à appeler. La ligne use rend AboutController disponible dans ce fichier.
5. Contrôlez immédiatement
aml routes
# GET /about AboutController::indexOuvrez ensuite http://127.0.0.1:8910/about. Si la page apparaît, la route, le contrôleur et la vue sont correctement reliés.