Backend PHP (BPH) Help

Exercice : autoload via Composer

Étape 0

  1. Créez un repository GitHub public avec un README et appelez-le : coda-bph-j12.

  2. Créez un dossier composer-autoload dans le dossier coda-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