Я пытаюсь понять маршрутизацию в Laravel 4. Я прочитал хороший post here on StackOverflow и ссылку на beware the route to evil, сообщение о том, что нужно указывать маршруты вручную. Мне нравится идея указать мои маршруты вручную и иметь route.php как документацию. Но, похоже, мне нужно быть осторожным в отношении порядка моих маршрутов, если я собираюсь указать свой собственный, вместо того, чтобы использовать Route::resource()
. Если у меня есть маршрут new
или create
до show
, то я не буду перенаправлен на шоу, потому что переменной в URI? Важным правилом является порядок, в котором определены маршруты.Требуемый заказ для указания постоянных маршрутов в Laravel 4?
// This will not work if I try and browse to dogs/new
Route::get('dogs', array('as' => 'dogs', 'uses' => '[email protected]'));
Route::get('dogs/{dogs}', array('as' => 'dog', 'uses' => '[email protected]'));
Route::get('dogs/new', array('as' => 'new_dog', 'uses' => '[email protected]'));
Кажется, мне нужно, чтобы убедиться, что dogs/new
идет перед dogs/{dogs}
для нового правильно вернуться. Я не понимаю, что делает {dogs}
или не отличается от (:any)
или {any}
Я видел несколько разных применений в примерах и псевдокоде. Я вижу, что /new
- это то же самое, что и {...}
, когда маршрут еще до того, как более конкретным является {}, как шаблон в Laravel 4? Является ли (: ...) старым способом?
В качестве исключения я заметил другое соглашение об именах из некоторых примеров, которые я видел при запуске php artisan routes
с маршрутом ресурса, например Route::resource('photos', 'PhotosController');
. Метод и названный маршрут для сообщения для индексации для создания нового ресурса named photos.store и @store. Метод и названный маршрут для ссылки на форму для создания нового ресурса - photos.create и @create. Это ли Laravel 4 вещь или соглашения в других рамках?