Laravel学習帳

Laravel5.2の学習帳です。開発環境はXAMPP for Windows 5.6.19 / 本番環境はさくらサーバー(スタンダード)

基礎知識

ルーティングについて

mainvisual

Laravelのルーティングについてみていきます。

 

ルーティングとは

ルーティングとはURIと処理をつなげるものです。

Laravel5.2では app/HTTP/routes.php でルーティングを登録します。

img01

 

ルーティングの書き方

ルーティングの書き方は3つあります。

【1】ルーティングと同時に無名関数を使って表示させる

【2】コントローラとメソッドで指定してルーティングさせる

【3】resourceを使ってルーティングさせる

 

【1】ルーティングと同時に無名関数を使って表示させる

一番シンプルな書き方です。

Route::get('hello/', function()
{
  return 'Hello World';
});

見たまま直感で読めるとも思いますが、「http://{ホスト名}/hello/ でアクセスしたら、'Hello World'を返却する」 となってます。

http://{ホスト名}/hello/

にアクセスすると

'Hello World'が表示されます。

 

ビュー関数を使って表示させる場合

Route::get('articles', function () {
  return view('articles.index');
});

http://{ホスト名}/articles

にアクセスすると

resources/views/articles/index.blade.php

が表示されます。

 

【2】コントローラとメソッドでルーティングさせる

フレームワークでおなじみのルーティングです。

Route::get('articles', 'ArticlesController@index');

http://{ホスト}/articles

にアクセスするとArticlesControllerのindexメソッドが実行されます。

 

【3】resourceを使ってルーティングさせる

RESTfulといわれる作り方です。

Route::resource('articles','ArticleController');

上のように記載するだけで、以下のような多数のルーティングに対応します。

HTTPメソッド URL 使い方 実行メソッド
GET /article 一覧表示 ArticleController@index
GET /article/create 新規作成 ArticleController@create
POST /article 新規保存 ArticleController@store
GET /article/{id} 表示 ArticleController@show
GET /article/{id}/edit 編集 ArticleController@edit
PUT/PATCH /article/{id} 更新 ArticleController@update
DELETE /article/{id} 削除 ArticleController@destroy

なお、追加でルーティングの記述を入れるケースも出てくると思います。

その場合はresourceの前に記述しないと表示されませんので注意してください。

Route::get('articles/setting',['as'=>'articles.setting','uses'=>'ArticleController@setting']);
Route::resource('articles','ArticleController');

 

controllerを使ってルーティングさせるのはNG

Laravel5.2からは非推奨になっています。5.3ではなくなります。

Route::controller('users', 'UserController');

ルーティングの説明は以上です。

 

-基礎知識