diff --git a/index.php b/index.php index ddee0bf..ec47c03 100755 --- a/index.php +++ b/index.php @@ -47,20 +47,10 @@ // Api $R->post('api/?', function(){ $request = \manager\ModuleRequest::fromURL($_POST); + $answer = $request->dispatch(); - // Si requete correcte - if( $request->error == \manager\ManagerError::Success ){ - $answer = $request->dispatch(); - $answer->append('ModuleError', false); - - echo $answer->serialize(); // On renvoie la reponse - - // Si requete erronee - }else{ - $answer = new \manager\ModuleAnswer(); - $answer->append('ModuleError', true); - echo $answer->serialize(); - } + + echo $answer->serialize(); }); // N'importe -> page d'accueil diff --git a/manager/ModuleAnswer.php b/manager/ModuleAnswer.php index 7b040f7..ad1610f 100755 --- a/manager/ModuleAnswer.php +++ b/manager/ModuleAnswer.php @@ -27,10 +27,12 @@ /* CONSTRUCTEUR D'UNE REPONSE DE MODULE * + * @error Erreur passee par la requete (si existe) + * */ - public function __construct(){ + public function __construct($error=ManagerError::Success){ $this->data = array(); - $this->error = ManagerError::Success; + $this->error = $error; } @@ -123,7 +125,9 @@ */ public function serialize(){ - return json_encode($this->data); + $returnData = array_merge( $this->data, array('ModuleError' => $this->error) ); + + return json_encode($returnData); } diff --git a/manager/ModuleRequest.php b/manager/ModuleRequest.php index 8ade7c7..b067733 100755 --- a/manager/ModuleRequest.php +++ b/manager/ModuleRequest.php @@ -100,14 +100,15 @@ public function dispatch(){ /* [1] On verifie qu'aucune erreur n'a ete signalee =========================================================*/ - if( $this->error != ManagerError::Success ) return new ModuleAnswer(); + if( $this->error != ManagerError::Success ) // si il y a une erreur + return new ModuleAnswer($this->error); // on la passe a la reponse /* [2] On verifie que la methode est amorcable =========================================================*/ if( !is_callable($this->getFunctionCaller()) ){ $this->error = ManagerError::UncallableMethod; - return new ModuleAnswer(); + return new ModuleAnswer($this->error); } @@ -118,7 +119,7 @@ /* [4] Gestion de la reponse =========================================================*/ - $answer = new ModuleAnswer(); + $answer = new ModuleAnswer($this->error); $answer->appendAll($returned); return $answer; diff --git a/todo.md b/todo.md index fcf7b6a..fbf32b8 100755 --- a/todo.md +++ b/todo.md @@ -13,7 +13,6 @@ ############ # EN COURS # ############ -- [ ] [ModuleAnswer->serialize] Integration de l'erreur dans la serialisation - [x] Conception BDD + ameliorations - [x] Liste des tables @@ -32,6 +31,8 @@ ######## # FAIT # ######## +- [x] [ModuleRequest->dispatch] Passage de l'erreur a la reponse +- [x] [ModuleAnswer->serialize] Integration de l'erreur dans la serialisation - [x] [ModuleAnswer->get+getAll] Accesseurs aux donnees de la reponse - [x] Gestion des erreurs - [x] [ModuleError::explicit] Explicitation diff --git a/view/users.php b/view/users.php index b5fc530..ff0dbf2 100755 --- a/view/users.php +++ b/view/users.php @@ -57,15 +57,14 @@ // On recupere tous les utilisateurs debug(); $request = new \manager\ModuleRequest('userDefaultModule/getAll'); - $users = $request->dispatch(); + $answer = $request->dispatch(); echo '
'; echo 'Liste des utilisateurs:
'; - if( $request->error != \manager\ManagerError::Success ) - var_dump( \manager\ManagerError::explicit($request->error) ); + if( $answer->error != \manager\ManagerError::Success ) + var_dump( \manager\ManagerError::explicit($answer->error) ); else - var_dump( $users->get('users') ); - var_dump( $users->getAll() ); + var_dump( $answer->get('users') ); echo '
'; }