Bonjours,
Avec le mvc maison du tuto disponible sur ce site il est possible d'effectuer des requête d'un controlleur à l'autre.
Le problème est les paramètres envoyés. Ces paramètres sont contenu dans request->params. Mais moi je veux envoyé mes paramètres.
Par exemple faire quelque chose du style :

$this->request('controller','action',$param1,$param2);

Et récupérer les paramètres comme ceci avec ma fonction :

public function ($param1,$param2){/*Traitrement....*/}

Il faudrait envoyé tous les paramètres récupéré à l'action :

function request($controller, $action, /*params*/ )
    {
        $controller .= 'Controller';
        require_once ROOT . DS . 'controller' . DS . $controller . '.php';
        $c = new $controller($this->request);
        return $c->$action(/*params*/);
    }

Merci d'avance car là je sèche.

1 réponse


Je pense que tu peux faire un truc grosso merdo comme ça:

function request($controller, $action, $params){
                $controller .= 'Controller';
        require_once ROOT . DS . 'controller' . DS . $controller . '.php';
                $c = new $controller($this->request);
                return $c->$action($params);
    }

Et pour ta fonction:

//Tu vérifies si $params est un array, si oui tu le traite différement...
public function ($params){
//Tu vérifies si $params est un array, si oui tu la traite différement, sinon tu la traite direct
}

Ce qui te permet de l'appeler comme ça par exemple:

$params = array('machin' => 'truc', 'bidule' => 'nawak');
$this->request('controller','action', $params);