- [x] [ModuleRequest->dispatch] Passage de l'erreur a la reponse

- [x] [ModuleAnswer->serialize]  Integration de l'erreur dans la serialisation
This commit is contained in:
xdrm-brackets 2016-02-05 09:10:37 +01:00
parent ad80d1a310
commit 540c97b390
5 changed files with 20 additions and 25 deletions

View File

@ -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

View File

@ -27,10 +27,12 @@
/* CONSTRUCTEUR D'UNE REPONSE DE MODULE
*
* @error<ModuleError> 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);
}

View File

@ -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;

View File

@ -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

View File

@ -57,15 +57,14 @@
// On recupere tous les utilisateurs
debug();
$request = new \manager\ModuleRequest('userDefaultModule/getAll');
$users = $request->dispatch();
$answer = $request->dispatch();
echo '<section>';
echo 'Liste des utilisateurs: <br>';
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 '</section>';
}