Erreur passee par la requete (si existe) * */ public function __construct($error=ManagerError::Success){ $this->data = []; $this->error = $error; } /* AJOUTE UNE DONNEE A LA REPONSE * * @key Le nom de la valeur a ajouter * @value 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 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 Le nom de la valeur a recuperer * * @return value La valeur a cette cle * @return error 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 Les donnees de la reponse * */ public function getAll(){ // Sinon, on retourne la valeur associee return $this->data; } /* SERIALISATION A PARTIR DES DONNEES * * @return json Retourne les donnees serialisees * */ public function serialize(){ // Code Http ManagerError::setHttpCode($this->error); // Type de contenu // header('Content-Type: application/json; charset=utf-8'); // On rajoute l'erreur au message $returnData = array_merge([ 'ModuleError' => $this->error, 'ErrorDescription' => ManagerError::explicit($this->error) ], $this->data ); return json_encode($returnData); } } ?>