2013-02-16 3 views
0

Я пытаюсь маршрутизировать несколько URL-адресов на одну и ту же функцию контроллера, используя часть этих URL-адресов в качестве параметров для метода внутри контроллера. Это основано на функциональности маршрутизации Laravel Framework, я не прошу об общей помощи в отношении htaccess/pretty urls и т. Д. В частности, я хотел бы знать, как достичь этого в файле Laravel routes.php.Laravel routing to controller

URL-адреса Я пытаюсь маршруте:

domain.com/articles

domain.com/downloads

domain.com/videos

domain.com/ дайджесты

Теперь я знаю, что могу сделать что-то вроде thi s в моем routes.php:

Route::get(array('digests','articles','videos','downloads'), '[email protected]_content'); 

И это будет путь к этой функции в моем контроллере содержимого:

public function action_list_content(){} 

Однако я бы на самом деле, как функции выглядеть следующим образом:

public function action_list_content($type){} 

И что бы ни было в первой части URL (т. Е. дайджесты, статьи, видеоролики или загрузки) должны быть отправлены как параметр $ type в метод action_list_content.

Возможно ли это?

Я хотел бы отметить, что я предпочел бы не использовать (: любой), так как это было бы действительно жадными и принять «domain.com/anyrandomtext»

ответ

3

Laravel преобразует символы в регулярные выражения, прежде чем они подвергаются дальнейшей обработке. Таким образом, вы можете просто перейти прямо к нему, предоставив регулярное выражение:

Route::get('(articles|downloads|videos|digests)', '[email protected]_content'); 
+0

Приветствия Я знал, что это будет что-то простое, но ничего не было в документах. Это именно то, что нужно ура. – robjbrain

+0

Добро пожаловать. :) –