Exercice : composer et .env
Étape 0
Créez un dossier
composer-envdans le dossiercoda-bph-j12
Étape 1 : les dossiers et fichiers
1.1 : les nouveaux fichiers
Récupérez les fichiers de l'exercice précédent et placez-les dans le dossier composer-env.
Vous allez rajouter deux fichiers :
managers
AbstractManager.php
DefaultManager.php
.env
1.2 : le contenu des nouveaux fichiers
1.2.1 : AbstractManager.php
<?php
abstract class AbstractManager
{
protected PDO $db;
public function __construct()
{
$dbHost = $_ENV['DB_HOST'];
$dbUser = $_ENV['DB_USER'];
$dbPass = $_ENV['DB_PASS'];
$dbName = $_ENV['DB_NAME'];
$connexion = "mysql:host=".$dbHost.";port=3306;charset=utf8;dbname=".$dbName;
$this->db = new PDO(
$connexion,
$dbUser,
$dbPass
);
}
}
1.2.2 : DefaultManager.php
<?php
class DefaultManager extends AbstractManager
{
pubblic function __construct()
{
parent::__construct();
}
}
1.2.3 : .env
DB_HOST=localhost
DB_USER=root
DB_PASS=password123
DB_NAME=mydatabase
Remplacez les valeurs par celles de votre base de données.
1.3 Modifier le fichier controllers/DefaultController.php
<?php
class DefaultController extends AbstractController
{
public function index() : void
{
$manager = new DefaultManager();
$this->render("index", []);
}
}
1.3 Modifier le fichier index.php
<?php
require '/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$router = new Router();
$router->handleRequest();
Étape 2 :
Faites en sorte de mettre à jour l'autoload de composer.
08 December 2025