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
Post a Comment