Newer
Older

G. Daryl M. OKOU
a validé
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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
<?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 **/
return new JoueurSquadro();
}
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;
}
}