如何在内部重新路由 laravel 呼叫(无重定向)


How to re-route a laravel call internally (without redirect)?

在 laravel 中,给定的 url 被路由到特定的控制器方法。在该方法中,我想返回响应,就好像用户访问了不同的路由一样。我可以这样做:

return App::make('OtherController')->otherMethod();

但是,这取决于我对要将它们发送到的类和方法名称进行硬编码。我更愿意将它们发送到由路由名称标识的另一个控制器,而不是控制器类的名称。我该怎么做?

一种可能性是return Redirect::route($otherRoute),除了 a) 这是一个实际的重定向,这意味着它会增加页面加载时间并替换他们看到的 URL,以及 b) 它使传输 POST 数据变得困难。所以,我不想那样做。

如何调用控制器,只知道它链接到的路由的名称?

正如@Mruf所说,你可以试试:

return 'Route::dispatch('Request::create($otherRoute, 'GET'));