Newer
Older

G. Daryl M. OKOU
a validé
<?php
class PDOSquadro
{
private static PDO $pdo;
public static function initPDO(string $sgbd, string $host, string $db, string $user, string $password): void
{
switch ($sgbd) {
/* case 'mysql':
TODO si nécessaire
break;
*/
case 'pgsql':
self::$pdo = new PDO('pgsql:host=' . $host . ' dbname=' . $db . ' user=' . $user . ' password=' . $password);
break;
default:
exit ("Type de sgbd non correct : $sgbd fourni, 'pgsql' attendu");
}
// pour récupérer aussi les exceptions provenant de PDOStatement
self::$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
/* requêtes Préparées pour l'entitePlayerSquadro */
private static PDOStatement $createPlayerSquadro;
private static PDOStatement $selectPlayerByName;
/******** Gestion des requêtes relatives à JoueurSquadro *************/
public static function createPlayer(string $name): JoueurSquadro
{
/** TODO **/

G. Daryl M. OKOU
a validé
return new JoueurSquadro($name);

G. Daryl M. OKOU
a validé
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
}
public static function selectPlayerByName(string $name): ?JoueurSquadro
{
/** TODO **/
return null;
}
/* requêtes préparées pour l'entite PartieSquadro */
private static PDOStatement $createPartieSquadro;
private static PDOStatement $savePartieSquadro;
private static PDOStatement $addPlayerToPartieSquadro;
private static PDOStatement $selectPartieSquadroById;
private static PDOStatement $selectAllPartieSquadro;
private static PDOStatement $selectAllPartieSquadroByPlayerName;
/******** Gestion des requêtes relatives à PartieSquadro *************/
/**
* initialisation et execution de $createPartieSquadro la requête préparée pour enregistrer une nouvelle partie
*/
public static function createPartieSquadro(string $playerName, string $json): void
{
/** TODO **/
}
/**
* initialisation et execution de $savePartieSquadro la requête préparée pour changer
* l'état de la partie et sa représentation json
*/
public static function savePartieSquadro(string $gameStatus, string $json, int $partieId): void
{
/** TODO **/
}
/**
* initialisation et execution de $addPlayerToPartieSquadro la requête préparée pour intégrer le second joueur
*/
public static function addPlayerToPartieSquadro(string $playerName, string $json, int $gameId): void
{
/** TODO **/
}
/**
* initialisation et execution de $selectPartieSquadroById la requête préparée pour récupérer
* une instance de PartieSquadro en fonction de son identifiant
*/
public static function getPartieSquadroById(int $gameId): ?PartieSquadro
{
/** TODO **/
return null;
}
/**
* initialisation et execution de $selectAllPartieSquadro la requête préparée pour récupérer toutes
* les instances de PartieSquadro
*/
public static function getAllPartieSquadro(): array
{
/** TODO **/
return array();
}
/**
* initialisation et execution de $selectAllPartieSquadroByPlayerName la requête préparée pour récupérer les instances
* de PartieSquadro accessibles au joueur $playerName
* ne pas oublier les parties "à un seul joueur"
*/
public static function getAllPartieSquadroByPlayerName(string $playerName): array
{
/** TODO **/
return array();
}
/**
* initialisation et execution de la requête préparée pour récupérer
* l'identifiant de la dernière partie ouverte par $playername
*/
public static function getLastGameIdForPlayer(string $playerName): int
{
/** TODO **/
return 0;
}
}