php - Reverse routing in Lumen. Call Router by it's name -


i have routes defined below:

$app->get('/user/posts',  [         "as"   => 'user.posts',         "uses" => 'usercontroller@getposts'         ]);  $app->get('/user/ads',  [         "as"   => 'user.ads',         "uses" => 'usercontroller@getads'         ]); 

it possible call these 2 routes name inside third route (below)? reverse routing?

$app->get('/user/all',  function() use ($app){         /** not work         $request = request::create('myroutename', 'get');         // can't use route class in lumen         $response = route::dispatch($request);         **/         return [              "posts" => request::response_from('user.posts'),              "ads"   => request::response_from('user.ads')         ]; }); 

i method request::response_from($routenameoruri) can data route (by calling controller's action)

from looks of you're having logic in controllers push towards model , have router point different controller functions bind model (in sense).

usually want router not have inline functions cannot cached , slower. using facades sign you're doing wrong.

as said before you're better off extracting whatever data you're retrieving user posts model , user ads model , having controller action needs.

/user/posts -> usercontroller@posts -> user->posts  /user/ads -> usercontroller@ads -> user->ads  /user/all -> usercontroller@all -> user->posts() & user->ads() or user->all() 

if goal api highly suggest looking restful routing , design guidelines.


Comments

Popular posts from this blog

yii2 - Yii 2 Running a Cron in the basic template -

asp.net - 'System.Web.HttpContext' does not contain a definition for 'GetOwinContext' Mystery -

wso2esb - How to concatenate JSON array values in WSO2 ESB? -