2017-10-16 9 views
0

Comment pourrais-je créer, itinéraire dynamique à partir de la base de données. J'utilise le routeur personnalisé, cependant, je ne pouvais pas intégrer le doctrinaire avec mon routeur personnalisé. La principale difficulté est que Factory ne peut pas se connecter à la classe de routage personnalisée. Est-ce que quelqu'un sait comment connecter route avec la base de données en ZF3?Route dynamique ZF3 à partir de la base de données

Répondre

0

vous avez besoin d'un segment d'acheminement, par ex.

'blogpost' => [ 
      'type' => Segment::class, 
      'options' => [ 
       'route' => '/novost/:id', 
       'defaults' => [ 
        'controller' => Controller\IndexController::class, 
        'action' => 'blogPost', 
       ], 
      ], 
     ], 

avis

: id

id

est variable dynamique dans l'itinéraire

vous retrive à l'intérieur de l'action comme

$id = $this->params()->fromRoute('id'); 

de sorte que vous peut obtenir des données de DB pour cette route et le servir à ViewModel. par exemple:

$post = $this->model->getBlogPost($id); 

$vm = new ViewModel(['post' => $post]); 
return $vm; 

avis, vous pouvez également avoir des variables en option dans la route avec des supports -> [/: variable]

Lors de la construction lien avec aide url ne pas oublier les variables.

$this->url('blogpost',['id'=>$someid]); 

plus d'info: https://docs.zendframework.com/tutorials/in-depth-guide/understanding-routing/#segment-routes