Exercice : autoload via Composer
Étape 0
Créez un repository GitHub public avec un README et appelez-le :
coda-bph-j12.Créez un dossier
composer-autoloaddans le dossiercoda-bph-j12
Étape 1 : Créer les dossiers et les fichiers
1.1 Créez les dossiers et fichiers suivants :
controllers
AbstractController.php
DefaultController.php
managers
models
services
Router.php
templates
layout.phtml
index.phtml
1.2 Remplir les fichiers
1.2.1 AbstractController.php
<?php
abstract class AbstractController
{
protected function render(string $template, array $data) : void
{
require "templates/layout.phtml";
}
protected function redirect(string $route) : void
{
header("Location: $route");
}
}
1.2.2 DefaultController.php
<?php
class DefaultController extends AbstractController
{
public function index() : void
{
$this->render("index", []);
}
}
1.2.3 Router.php
<?php
class Router
{
public function handleRequest() : void
{
$ctrl = new DefaultController();
$ctrl->index();
}
}
1.2.4 layout.phtml
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<title>Exercice Composer Autoload</title>
</head>
<body>
<header>
<h1>Exercice Composer Autoload</h1>
</header>
<?php
require "templates/$template.phtml";
?>
</body>
</html>
1.2.5 index.phtml
<main>
<h2>Je suis l'index</h2>
</main>
1.2.6 index.php
<?php
require "vendor/autoload.php";
$router = new Router();
$router->handleRequest();
Étape 2 : Configurer Composer
Créez un fichier composer.json de base pour votre projet. Ensuite faites en sorte de mettre à jour l'autoload de composer.
08 December 2025