ネビ活 | ネットビジネス生活

ネットxお金のスキルを作り、未来永劫豊かに暮らす事を目指すサイト

Laravelのroutes(web.php)とは?超初心者向けに図解と実例でやさしく解説!

更新日:

Laravelのroutes(web.php)とは?超初心者でも良く分かる図でやさしく解説!

Laravelでよくルートって言葉が出てくるけど、あれなんなの?いまいち分からないんだけど。

 

というわけで、ここではLaravelのroutes(web.php)とはなんなのかについて、
Laravel始めたばかりで右も左も分からないあなたでも
バッチリ分かるように図解でやさしく解説します。

 

そもそもLaravelって稼げるの?独学?スクール?高給を稼ぐためにどうするべきか教えます。

Laravelのroutesことweb.phpとは?

Laravelではルートやルーティングと呼ばれる機能があります。

 

まず、具体的な事を話すと、ルート、ルーティングとは、
Laravelプロジェクト\routesフォルダのweb.phpの事です。

 

そして、ルートとは、一言でいうと
「コントローラーやブレードにURLを与えるところ」と言えます。

 

うーん、よく分からん・・

 

というわけで下の図で解説します。

まずサイトのURLにブラウザからアクセスがあると、
routesがそのURLに適したコントローラーに仕事を依頼します。

Laravelのroutes(web.php)とはの解説図

 

例えば、post321やpost354などのブログ記事ページにアクセスがあれば、routes が PostController氏に依頼して、マイページにアクセスがあれば MypageController氏に依頼する、といった具合です。

やっぱり良くわからん・・

 

別の見方をすれば、ControllerとBladeによって記事が完成したら、そこにroutesであるweb.phpがアドレスを付与するというわけです。routes, controller, bladeの関係図2

 

そっかぁ。ファイル自体にpost123.htmlみたいな名前を付けて表示するわけじゃないんだね。
そう、普通のHTMLとは違って、このroutesでそれぞれのページに自分でURLを付けるんだ。
Neby
ブログ記事のように沢山ある場合は、自動でURLを付与してくれるの?
うん、それも可能だよ。
Neby

 

routes(web.php)の場所と使い方

繰り返しになりますが、このルート設定というのはどこにあるかというと、
Laravelプロジェクトフォルダ→routesの中にあるweb.phpがそれにあたります。

以前のLaravelでは、routes.phpというファイルでしたが、Laravel5の途中から、routesフォルダの中のweb.phpに変わりました。

 

では、実際にファイルを開いてみましょう。

初期設定だとこんな感じになってます。<?php は、phpを使うためのタグなので消さないでください。

そして、

Route::get('/', function () {
return view('welcome');
});

という記述のwelcomeの部分は、welcome.blade.phpを意味してます。

また、get('/' のスラッシュは、URLのトップページを意味してます。
なので、abc.com/ にアクセスすると、このwelcome.blade.phpが表示されるという事です。

 

じゃあ、スラッシュの部分を変えてみます。

今度はスラッシュを消して、samplepostとしてみました。この場合は、abc.com/samplepost/ というアドレスにアクセスすると、welcome.blade.phpがブラウザで表示されるというわけです。

Laravelのblade.phpとは?普通の.phpと何が違う?初心者必須の知識!

 

なるほど、web.phpでそうやって自由にURLを設定できるんだね。あれ、ちょっと待って。最初の図ではweb.phpからコントローラーに指示を出すってなってなかった?コントローラーなしで直接ブレードを表示しちゃってるけど・・

いいところに気付いたね。本来はweb.php上では、bladeではなく、controllerを指定するんだ。でもcontrollerの仕事はデータベースから投稿記事などを取り出すのが仕事だから、投稿が無いページ、例えばお問い合わせページとか、プライバシーポリシーみたいな定型文しかないページの場合は、controllerを噛ませずにbladeを直呼びする事もできるんだ。
Neby

LaravelのController.phpとは?初心者向けにやさしく図入りで解説

 

routes(web.php)でコントローラーを指定する方法

では、今度はコントローラーありバージョンを解説します。

まず、ターミナル(コマンドプロンプト)を立ち上げて、新しいコントローラーを作ります。

 

まず、Laravelプロジェクトフォルダのパスをコピーします。

コマンドプロンプトに戻り、
cd laravelプロジェクトフォルダまでのパス と入力しEnter。

画像の場合は、cd D:\XAMPP\htdocs\liketest という具合だね。

Dドライブの場合はD: と入力してEnterで、Dドラに移動できるよ。

Neby

 

移動できたら、php artisan make:controller SampleController と入力、Enterします。

 

app\Http\Controllersフォルダ内に SampleController.php が無事出来ました。

このファイルを開いてみます。

赤枠の部分を追記し、保存します。

コピーしました

コピー

    public function test(Request $request){
        return view('welcome');
    } 

これは、SampleControllerのtest項目が呼び出されたら、welcome.blade.phpを表示するという意味のコードです。

 

さて、routes\web.phpに戻りましょう。

先程のコードを選択して、Ctrl + / を押す事で、コメントアウトして無効化します。

そして、代わりに8行目のコードを書きます。

コピーしました

コピー

Route::get('samplepost', 'SampleController@test'); 

今度は、後半部分が、'SampleController@test' になりました。これは、SampleControllerの中のtestファンクションを呼び出してくださいという意味です。

上の画像のように、もし複数のファンクションがあった場合に、どれを呼び出すのか分かるように、指定するわけです。

こうする事で、まずsamplepostというURLにアクセスがあると、web.phpがSampleControllerのtest functionを呼び出し、

 

そして、Controller側のtest functionが、welcome.blade.phpを呼び出して、それがブラウザに表示されるわけです。

 

なるほど~、っていうか、3段階に無駄に分ける意味がやっぱり分からないんだけど(汗)。
本来は、このControllerで、データベースにアクセスして、投稿記事を呼び出すんだ。ブログだったらブログ記事、口コミサイトだったら、投稿された口コミをデータベースから呼び出すのがコントローラーの仕事だから。詳しくはこれを見ればよく分かるよ↓

LaravelのController.phpとは?初心者向けにやさしく図入りで解説

Neby
つまり、ルート(web.php) は blade.php にURLを与える所って認識でOK?
そういう事!よく出来ました!
Neby

 

ところで、あなたはなぜLaravelを今学び始めたんでしょうか?

稼げると聞いたから?

どれくらい上達すれば稼げるのか?本当にそんな高給を稼げるのかの現実を知ってますか?

詳しくは下の記事に本音の裏事情を書いてるので参考にしてくださいね。

Laravelって稼げるの?独学?スクール?高給を稼ぐためにどうするべきか教えます。

  • この記事を書いた人

Neby

本を毎日多読しつつ、資産運用、プログラミング、心理学、ネットビジネススキルを猛向上中。貧富の差が広がる5年後、10年後に安心生活を送るためのお金のリテラシー、スキル、資産を一緒に作っていきましょう。

-PHP Laravel入門

Copyright© ネビ活 | ネットビジネス生活 , 2020 All Rights Reserved.