私は Laravel 4 でルーティングを理解しようとしています。ここで StackOverflow に関する良い記事と、 route to bewareへのリンク、手動でルートを指定することに関する記事を読みました。ルートを手動で指定し、routes.php をドキュメントとして機能させるというアイデアが気に入っています。しかし、使用する代わりに独自のルートを指定する場合は、ルートの順序に注意する必要があるようですRoute::resource()
If I have the new
or create
route before the show
then I will not be routed to the show because the variable inうり?ルートが定義される順序は重要ですよね?
// This will not work if I try and browse to dogs/new
Route::get('dogs', array('as' => 'dogs', 'uses' => 'DogsController@index'));
Route::get('dogs/{dogs}', array('as' => 'dog', 'uses' => 'DogsController@show'));
Route::get('dogs/new', array('as' => 'new_dog', 'uses' => 'DogsController@create'));
new が正しく返されるようにするには、dogs/new
が前に来るようにする必要があるようです。dogs/{dogs}
何{dogs}
が異なるのか、(:any)
または{any}
例や疑似コードでいくつかの異なる使用法を見てきました。Laravel 4 のワイルドカードのように、より具体的な {} の前にルートがある場合/new
と同じだと思いますか? {...}
(:...) は古い方法ですか?
余談ですが、新しいリソースを作成するためのインデックスへの投稿のメソッドと名前付きルートのphp artisan routes
ようなリソースルートで実行したときに見たいくつかの例とは異なる命名規則に気付いたのは、photos.store と @ という名前です。Route::resource('photos', 'PhotosController');
お店。新しいリソースを作成するためのフォームへのリンクのメソッドと名前付きルートは、photos.create と @create です。それは Laravel 4 のものですか、それとも他のフレームワークの規則ですか?