larabelのroute定義整理

Laravelのルーティングを使ってみる

Route::get() / Route::post()

route.phpで行っているルーティングは、Routeクラスを使って行います。
getメソッドはGETアクセスされた場合、postメソッドはPOSTアクセスされた場合になります。

PHP

1
2
Route::get(URL, 処理);
Route::post(URL, 処理);

例えば、/sample/のURLにフォームを設置して、POSTした内容を同じページに表示するようにしてみます。

省略形にルート内容

Laravelのroutingも便利なもので、
Route::resource(‘users’)のようにすると
以下のようなルーティングが自動生成されます。

さらに、そこから余計なものを作らない時には
以下のようにonlyで絞ることが出来ます。

    Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'before' => 'access_admin'], function()
    {
        Route::resource('users', 'UsersController', [
            'only' => ['index', 'show'],
        ]);
    }

イメージとしては、Admin画面でユーザー一覧(index)と
ユーザーページ(show)だけ存在しているという感じです。

コントローラへのルーティング

// app/Http/routes.php
Route::get('articles', 'ArticlesController@index');
Route::get('articles/{id}', 'ArticlesController@show');
Route::get('articles/create', 'ArticlesController@create');
Route::post('articles', 'ArticlesController@store');
Route::get('articles/{id}/edit', 'ArticlesController@edit');
Route::put('articles/{id}', 'ArticlesController@update');
Route::delete('articles/{id}', 'ArticlesController@delete');
+--------+----------+--------------------+------+------------------------------------------------+------------+
| Domain | Method   | URI                | Name | Action                                         | Middleware |
+--------+----------+--------------------+------+------------------------------------------------+------------+
|        | GET|HEAD | articles           |      | App\Http\Controllers\ArticlesController@index  |            |
|        | GET|HEAD | articles/{id}      |      | App\Http\Controllers\ArticlesController@show   |            |
|        | GET|HEAD | articles/create    |      | App\Http\Controllers\ArticlesController@create |            |
|        | POST     | articles           |      | App\Http\Controllers\ArticlesController@store  |            |
|        | GET|HEAD | articles/{id}/edit |      | App\Http\Controllers\ArticlesController@edit   |            |
|        | PUT      | articles/{id}      |      | App\Http\Controllers\ArticlesController@update |            |
|        | DELETE  | articles/{id}      |      | App\Http\Controllers\ArticlesController@destroy |            |
+--------+----------+--------------------+------+------------------------------------------------+------------+

参考サイト

Laravel 5.1のルーティング
Laravelで提供されている様々なルーティング方法を紹介します。クロージャを使ったルーティングルートパ…
タイトルとURLをコピーしました