0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【備忘録】LaravelのHelloWorld! ~ルーティング設定とバージョンの注意点~

Last updated at Posted at 2022-03-29
~まずはじめに~

laravelのプロジェクト作成したんだけど、どこにphpファイル置けばWebに表示できるんだろう?
そもそもどうやってWebで確認するんだ?ってなったのでメモ
基本過ぎてみんなあんまり書いてないのかも・・・(´・ω・`)
ひとまずいつものHello World表示をゴールにします。

私の開発環境のLaravelのバージョンは
Laravel Framework 9.4.1
です。(Windows XAMPP環境です)
\c\xampp\shiftapp\配下にプロジェクトを作成しています。
image.png

表示したいURLとして今回は
http://localhost:8000/test/home
にします。(URLの変更はまた今度)

作成/修正するファイルは3つ!
修正が必要なファイル↓
\routes\web.php
新規作成ファイル↓
\app\Http\Controllers\TestController.php
\resources\views\sample.blade.php
↓この赤枠の中にあるよ!
image.png

ルーティングの設定

まずは、ルーティングの設定を行います。これをしないとWebサイトに表示できないよ!
※バージョンごとの注意があります!
\routes\web.phpを開くと・・・

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

って記述があると思うのでその下に以下を追記!

Route::get('/test/home', function () {
    return view('sample');
});

/test/homeの部分がURLにしたい部分で、作成したsample.blade.phpってviewを開いてくれます。
この書き方でも表示はできるのですが、今回はコントローラーを経由して表示させるようにします。
↓こう書きました。

Route::get('/test/home', 'App\Http\Controllers\TestController@entrance');

/test/homeの部分がURLにしたい部分で
App\Http\Controllers\TestControllerが今回作成したTestController.phpを指していて、
entranceはTestController.php内に記述したfunctionです。
Laravelのバージョン7まではRoute::get('/test/home', 'TestController@entrance');とも書けたらしいのですが、私はエラーが出たので↑で書きました。
【Target class [○○Controller] does not exist.】って出たらきっとこれだと思います!
Laravelのバージョン8以降はAppから書いてください!

あとはuseでコントローラーをインポートして以下のように書くこともできるそうです。
どの書き方が一番いいのかはよくわからないので知ってる人これ見たら教えてください。

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\TestController;

Route::get('/test/home', [TestController::class, 'entrance']);

↓こんな感じ
image.png

コントローラーの設定

次にコントローラーの設定!
\app\Http\Controllers\TestController.phpを作成するよ!
web.phpでこのコントローラーにあるentrance()を呼び出して、sample.blade.phpってviewを表示してます。
↓こんな感じ
image.png

ビューの設定

あとちょっとだ!
\resources\views\sample.blade.phpを作成するよ!
表示させたい内容を書いてね!
↓こんな感じ
image.png
アクセスしてみると・・・↓
image.png

やったね!v(´・ω・`)v

APIのルーティングとかはapi.phpに設定する必要があるみたいなのでまた今度やってみます
(´・ω・`)ノ

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?