Loading .env 0 → 100644 +7 −0 Original line number Diff line number Diff line # Informations de connection DB_TYPE=<oracle/mysql> DB_HOST=<hôte> DB_PORT=<port> DB_USER=<utilisateurSGBD> DB_PASS=<motDePasseSGBD> DB_NAME=<nomBaseDeDonnées> .gitignore +0 −2 Original line number Diff line number Diff line #Variables d'environnement .env No newline at end of file src/lib/database.php 0 → 100644 +41 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); function chargerDotenv($path) { $lignes = file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach ($lignes as $line) { if (strpos($line, '=') !== false) { list($key, $value) = explode('=', $line, 2); $_ENV[$key] = $value; putenv("$key=$value"); } } } abstract class ConnectionBdd { private static ?PDO $instance = null; public static function getInstance(): PDO{ if (self::$instance === null) { self::$instance = self::connecterBdd(); } return self::$instance; } private static function connecterBdd(): PDO{ chargerDotenv('.env'); $type = getenv('DB_TYPE'); $host = getenv('DB_HOST'); $port = getenv('DB_PORT'); $user = getenv('DB_USER'); $password = getenv('DB_PASS'); $db_name = getenv('DB_NAME'); $charset = "utf8"; return new PDO("$type:host=$host;port=$port;dbname=$db_name;charset=$charset", $user, $password); } } No newline at end of file src/model/manager.php 0 → 100644 +34 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); require_once 'src/lib/database.php'; abstract class Manager{ protected PDO $bdd; public function __construct(){ $this->bdd = ConnectionBdd::getInstance(); } public function projectionBdd(string $requete): array{ $lignes = []; $statement = $this->bdd->query($requete); var_dump($statement); while($ligne = $statement->fetch()){ $lignes[] = $ligne; } return $lignes; } public function requetePrepare(string $requete, array $parametres): int{ $statement = $this->bdd->prepare($requete); $statement->execute($parametres); return $statement->rowCount(); } } No newline at end of file src/model/model.phpdeleted 100644 → 0 +0 −8 Original line number Diff line number Diff line <?php // Un modèle se charge du CRUD (Create Read Update Delete). // On mettra ici des classes pour représenter les données (entités) // et des classes qui se charge des requêtes SQL (les Manager) // Ici il y a rien car on a pas encore de données... No newline at end of file Loading
.env 0 → 100644 +7 −0 Original line number Diff line number Diff line # Informations de connection DB_TYPE=<oracle/mysql> DB_HOST=<hôte> DB_PORT=<port> DB_USER=<utilisateurSGBD> DB_PASS=<motDePasseSGBD> DB_NAME=<nomBaseDeDonnées>
.gitignore +0 −2 Original line number Diff line number Diff line #Variables d'environnement .env No newline at end of file
src/lib/database.php 0 → 100644 +41 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); function chargerDotenv($path) { $lignes = file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach ($lignes as $line) { if (strpos($line, '=') !== false) { list($key, $value) = explode('=', $line, 2); $_ENV[$key] = $value; putenv("$key=$value"); } } } abstract class ConnectionBdd { private static ?PDO $instance = null; public static function getInstance(): PDO{ if (self::$instance === null) { self::$instance = self::connecterBdd(); } return self::$instance; } private static function connecterBdd(): PDO{ chargerDotenv('.env'); $type = getenv('DB_TYPE'); $host = getenv('DB_HOST'); $port = getenv('DB_PORT'); $user = getenv('DB_USER'); $password = getenv('DB_PASS'); $db_name = getenv('DB_NAME'); $charset = "utf8"; return new PDO("$type:host=$host;port=$port;dbname=$db_name;charset=$charset", $user, $password); } } No newline at end of file
src/model/manager.php 0 → 100644 +34 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); require_once 'src/lib/database.php'; abstract class Manager{ protected PDO $bdd; public function __construct(){ $this->bdd = ConnectionBdd::getInstance(); } public function projectionBdd(string $requete): array{ $lignes = []; $statement = $this->bdd->query($requete); var_dump($statement); while($ligne = $statement->fetch()){ $lignes[] = $ligne; } return $lignes; } public function requetePrepare(string $requete, array $parametres): int{ $statement = $this->bdd->prepare($requete); $statement->execute($parametres); return $statement->rowCount(); } } No newline at end of file
src/model/model.phpdeleted 100644 → 0 +0 −8 Original line number Diff line number Diff line <?php // Un modèle se charge du CRUD (Create Read Update Delete). // On mettra ici des classes pour représenter les données (entités) // et des classes qui se charge des requêtes SQL (les Manager) // Ici il y a rien car on a pas encore de données... No newline at end of file