在laravel中,給定的URL被路由到特定的控制器方法。在該方法中,我想返回響應,就好像用戶訪問了不同的路線一樣。我能做到這一點,像這樣:如何在內部重新路由laravel調用(無重定向)?
return App::make('OtherController')->otherMethod();
然而,這取決於我的硬編碼的類和方法的名字我想送他們。我寧願將它們發送到由路由名稱標識的另一個控制器,而不是控制器類的名稱。我怎樣才能做到這一點?
一種可能性是return Redirect::route($otherRoute)
,除了a)這是一個實際的重定向,這意味着它增加了頁面加載時間並替換了他們看到的url,以及b)它使得難以傳輸POST數據。所以,我不想這樣做。
我怎樣才能調用一個控制器,只知道它鏈接到的路由的名稱?
在laravel 5使用 $請求=請求::創建( '/內部/位置', 'GET'); $ response = Route :: dispatch($ request); – Mruf
這也適用於Laravel 4。 Route :: get('events',['as'=>'events',function(){ \t \t $ request = Request :: create(URL :: toSite('lp/events'),'GET '); \t \t return Route :: dispatch($ request); \t}]); –