LoginSignup
0
2

More than 5 years have passed since last update.

[メモ]Laravel5.4でブログシステムを作る03(ルーティング)

Last updated at Posted at 2017-10-05

基礎知識

#laravelのルーティングについて

routesは routes/web.phpファイルに編集する

基本的なルーティングの例:

Route::get($uri, $callback);
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
Route::get('/', function () {
    return view('welcome');
});

Routeクラスのメソッドgetを使用するには引数は二つ必要:
1.‘/’ :ルートディレクトリ
2.コールバック関数:このルートの操作の内容。例えば、'welcome'というviewを描画

その他ルーティング:

Route::get('/','[コントローラ]@[コントローラの中の行為]');
//複数のHTTP動詞に対応したルートを登録する必要
Route::match(['get','post'],'/posts','[コントローラ]@[コントローラの中の行為]');
//全HTTP動詞に対応する
Route::any('/posts','[コントローラ]@[コントローラの中の行為]')

例:

Route::post('/posts','\App\Http\Controllers\PostController@index');
/*
<form action="/posts" method="POST"></form>
*/

もしHTTPメソッドはPUTならば:

Route::PUT('/posts','\App\Http\Controllers\PostController@index');
/*
<form action="/posts" method="POST">
<input type="hidden" name="_method" value="PUT"/>
</form>

*/

//あるいは

/*
<form action="/posts" method="POST">
{{method_field(“PUT”)}}
</form>
*/

ルートパラメーター

Route::get('/posts/{id}','[コントローラ]@[コントローラの中の行為]');

//コントローラのメソッド:
function index($id){
    $id=***;
}

ルートグループの使い方:もしルートの引数には共通部分があったら:

Route::group(['prefix'=>'posts'],function(){
    Route::get('/','[コントローラ]@[コントローラの中の行為]']);
    Route::get('/{id}','[コントローラ]@[コントローラの中の行為]');
    Route::get('/create','[コントローラ]@[コントローラの中の行為]');
})

モデル結合ルート

方法1:idでモデルを探す

Route::get('/posts/{id}','\App\Http\Controllers\PostController@show');

//コントローラのメソッド:
function show($id){
    //モデルはpost
    $post=\App\Post::find($id);

}

方法2:暗黙の結合

Laravelは、リクエストされたURIの対応する値に一致するIDを持つ、モデルインスタンスを自動的に注入します。

//{post}を使い,対応するテーブルの名前はposts、主キーはid
Route::get('/posts/{post}','\App\Http\Controllers\PostController@show');

//コントローラのメソッド:
function show(\App\Post $post){
    //.....
}

文章記事モジュールのルートを作る

ルート及びコントローラーのメソッドは主に、本文の機能要件にしたがって作っていきます。
Blank Diagram - Page 1.png

次回→[メモ]Laravel5.4でブログシステムを作る04(ルート、コントローラとデータベースの設定)

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2