【備忘録】LaravelのHelloWorld! ~ルーティング設定とバージョンの注意点~
~まずはじめに~
laravelのプロジェクト作成したんだけど、どこにphpファイル置けばWebに表示できるんだろう?
そもそもどうやってWebで確認するんだ?ってなったのでメモ
基本過ぎてみんなあんまり書いてないのかも・・・(´・ω・`)
ひとまずいつものHello World表示をゴールにします。
私の開発環境のLaravelのバージョンは
Laravel Framework 9.4.1
です。(Windows XAMPP環境です)
\c\xampp\shiftapp\配下にプロジェクトを作成しています。
表示したいURLとして今回は
http://localhost:8000/test/home
にします。(URLの変更はまた今度)
作成/修正するファイルは3つ!
修正が必要なファイル↓
\routes\web.php
新規作成ファイル↓
\app\Http\Controllers\TestController.php
\resources\views\sample.blade.php
↓この赤枠の中にあるよ!
ルーティングの設定
まずは、ルーティングの設定を行います。これをしないと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']);
コントローラーの設定
次にコントローラーの設定!
\app\Http\Controllers\TestController.php
を作成するよ!
web.phpでこのコントローラーにあるentrance()を呼び出して、sample.blade.phpってviewを表示してます。
↓こんな感じ
ビューの設定
あとちょっとだ!
\resources\views\sample.blade.php
を作成するよ!
表示させたい内容を書いてね!
↓こんな感じ
アクセスしてみると・・・↓
やったね!v(´・ω・`)v
APIのルーティングとかはapi.phpに設定する必要があるみたいなのでまた今度やってみます
(´・ω・`)ノ
Author And Source
この問題について(【備忘録】LaravelのHelloWorld! ~ルーティング設定とバージョンの注意点~), 我々は、より多くの情報をここで見つけました https://qiita.com/kuutan1011/items/5a6a2a03ae0ad02c75f0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .