Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
50.00% |
3 / 6 |
CRAP | |
56.52% |
13 / 23 |
ModuleAnswer | |
0.00% |
0 / 1 |
|
50.00% |
3 / 6 |
15.66 | |
56.52% |
13 / 23 |
__construct | |
100.00% |
1 / 1 |
1 | |
100.00% |
3 / 3 |
|||
append | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
appendAll | |
100.00% |
1 / 1 |
3 | |
100.00% |
7 / 7 |
|||
get | |
100.00% |
1 / 1 |
2 | |
100.00% |
3 / 3 |
|||
getAll | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
serialize | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 7 |
<?php | |
namespace manager; | |
// FORMAT: | |
// | |
// path: "nomModule/nomMethode" | |
// data1: {donnee1} | |
// data2: {donnee2} | |
// ... | |
// | |
// | |
// | |
// | |
class ModuleAnswer{ | |
// Attributs prives utiles (initialisation) | |
private $data; | |
public $error; | |
/* CONSTRUCTEUR D'UNE REPONSE DE MODULE | |
* | |
* @error<ModuleError> Erreur passee par la requete (si existe) | |
* | |
*/ | |
public function __construct($error=ManagerError::Success){ | |
$this->data = array(); | |
$this->error = $error; | |
} | |
/* AJOUTE UNE DONNEE A LA REPONSE | |
* | |
* @key<String> Le nom de la valeur a ajouter | |
* @value<mixed*> La valeur a ajouter | |
* | |
*/ | |
public function append($key, $value){ | |
// Ajoute une entree pour la cle @key et de valeur @value | |
$this->data[$key] = $value; | |
return $this; | |
} | |
/* AJOUTE TOUTES LES DONNEES A LA REPONSE | |
* | |
* @dataset<Array> Le tableau associatif correspondant a la reponse | |
* | |
*/ | |
public function appendAll($dataset){ | |
// Si ce n'est pas un tableau, on ne fais rien | |
if( !is_array($dataset) ) return $this; | |
// Si une valeur contient une erreur | |
if( array_key_exists('ModuleError', $dataset) ){ | |
// On definit cette erreur | |
$this->error = $dataset['ModuleError']; | |
// On enleve cette entree des donnees | |
unset($dataset['ModuleError']); | |
} | |
// Ajoute une entree pour la cle @key et de valeur @value | |
$this->data = $dataset; | |
return $this; | |
} | |
/* RECUPERE UNE DONNEE DE LA REPONSE | |
* | |
* @key<String> Le nom de la valeur a recuperer | |
* | |
* @return value<mixed*> La valeur a cette cle | |
* @return error<null> Retourne NULL si aucune valeur pour cette cle | |
* | |
*/ | |
public function get($key){ | |
// Si la valeur de cle @key n'existe pas, on retourne NULL | |
if( !isset($this->data[$key]) ) | |
return null; | |
// Sinon, on retourne la valeur associee | |
return $this->data[$key]; | |
} | |
/* RECUPERE TOUTES LES DONNEES DE LA REPONSE | |
* | |
* @return data<Array> Les donnees de la reponse | |
* | |
*/ | |
public function getAll(){ | |
// Sinon, on retourne la valeur associee | |
return $this->data; | |
} | |
/* SERIALISATION A PARTIR DES DONNEES | |
* | |
* @return json<String> Retourne les donnees serialisees | |
* | |
*/ | |
public function serialize(){ | |
// On rajoute l'erreur au message | |
$returnData = array_merge( | |
array( | |
'ModuleError' => $this->error, | |
'ErrorDescription' => ManagerError::explicit($this->error) | |
), | |
$this->data | |
); | |
return json_encode($returnData); | |
} | |
} | |
?> |