Я хочу создать динамические страницы CMS для своего приложения Laravel. Администратору разрешено указывать любой URI для любой страницы, например, он может создать страницу с one/two/three
URI и http://example.com/one/two/three будет указывать на этот сайт. Я уже понял, что можно добавить один маршрут для нескольких URL-адресов уровня, например:
get('{uri}', 'PageController@view')->where('uri', '.+');
Теперь я также хочу, чтобы /{username}
URL-адреса указывали на профили пользователей. Это означает, если мне нужно, чтобы это работало вместе. Для меня идеальным кодом было бы что-то вроде этого:
get('{username}', 'ProfileController@view');
get('{uri}', 'PageController@view')->where('uri', '.+');
Затем в ProfileController я хотел бы, чтобы мой маршрут шел дальше, как будто его там не было. Что-то вроде этого:
// ProfileController
public function view()
{
$user = User::whereUsername($username)->first();
if ($user === null) {
// Go to the next route.
}
}
Можно ли это сделать с помощью Laravel?
Я могу придумать другое решение, просто иметь контроллер динамической маршрутизации для имен пользователей и сопоставления URI страниц, но я бы предпочел иметь его как отдельные маршруты.
/users
к вашему маршрутуProfileController
- person peaceman   schedule 18.09.2015ProfileController
? Это также должно ускорить процесс маршрутизации. - person peaceman   schedule 18.09.2015