- [x] Module Dispatcher

- [x] Module Request
	Refactor et operationnel, mais a opti
This commit is contained in:
xdrm-brackets 2016-02-04 20:02:12 +01:00
parent 4cb2d3726d
commit c18370c36a
6 changed files with 58 additions and 4 deletions

View File

@ -69,7 +69,7 @@
*/
function testModuleDispatcher(){
$req1 = new manager\ModuleRequest('firstModule/a', array('id_user' => 10) );
$req1 = new manager\ModuleRequest('firstModule/returnvar', array('id_user' => 10) );
$req2 = manager\ModuleRequest::fromString('{"path": "firstModule/a", "data": [{"id_user":10}]}');

View File

@ -3,8 +3,8 @@
"a",
"b",
"c",
"d",
"e"
"returnvar",
"printvar"
],
"secondModule" : [

View File

@ -35,6 +35,18 @@
if( !($request instanceof ModuleRequest) ) // Si c'est pas une instance de <ModuleRequest>
return false; // On retourne FALSE, si erreur
/* [2] Execution de la methode specifiee
=========================================================*/
try{
$result = call_user_func_array($request->getFunctionCaller(), $request->getData() );
var_dump('result = '.$result);
// Si erreur, on retourne une exception
}catch(Exception $e){
var_dump('erreur de fonction');
return false;
}
return true;

View File

@ -150,6 +150,28 @@
/* RENVOI LE CHEMIN D'AMORCAGE DE LA METHODE
*
* @return path<Array> Retourne le chemin d'amorcage de la requete
*
*/
public function getFunctionCaller(){
return 'manager\\module\\'.$this->path['module'].'::'.$this->path['method'];
}
/* RENVOI LES DONNEES
*
* @return data<Array> Retourne les donnees de la requete
*
*/
public function getData(){
return $this->data;
}
}
?>

View File

@ -0,0 +1,20 @@
<?php
namespace manager\module;
class firstModule{
public static function a(){ var_dump('a method'); }
public static function b(){ var_dump('b method'); }
public static function c(){ var_dump('c method'); }
public static function returnvar($var){ var_dump('return var'); return $var; }
public static function printvar($var){ var_dump('var = '); var_dump($var); }
}
?>

View File

@ -14,7 +14,7 @@
# EN COURS #
############
- [ ] Conception du systeme de delegation des managers
- [.] Module Dispatcher
- [x] Module Dispatcher
- [x] Module Request
- [ ] Module Answer