Laravelを調べる:Controller/View追加編
環境
Name | Version |
---|---|
OS | macOS Catalina (ver 10.15.7) |
docker desktop | version 3.2.2 |
環境構築はこちら↓
Controllerの追加
Controllerの追加には以下のコマンドを実行します。
$ php artisan make:controller HogeController
実行すると、ディレクトリ: ./app/Http/Controllers
に HogeController.php
が出力されました。
試しに、index()
メソッドを追加してみます。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HogeController extends Controller
{
// ↓ を追加!
public function index(){
return "Fuga Fuga!!";
}
}
ルーティングの追加(1)
routes/web.php
に追加したコントローラを呼び出す行を追加する。
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\HogeController;
Route::get('/', function () {
return view('welcome');
});
Route::get('hoge', [HogeController::class, 'index']);
動作確認(1)
ブラウザで
http://localhost/hoge
を開くとControllerで出力している文字列: Fuga Fuga!!
が表示される。
Viewの追加
class HogeController にview() メソッドを追加する。
public function view(){
$data = [
'msg1' => 'Hoge!',
'msg2' => 'Fuga...'
];
# view(path, args)
return view('hoge', $data);
}
}
ルーティングの追加(2)
./routes/web.php
に再度ルーティングを追加します。
Route::get('hoge', [HogeController::class, 'view']);
テンプレートファイルの追加
ディレクトリ: resources/views/
にテンプレートファイル: hoge.blade.php
を追加する。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>test</title>
</head>
<body>
{{$msg1}}, {{$msg2}}
</body>
</html>
動作確認(2)
ブラウザでhttp://localhost/hoge
にアクセスすると、Hoge!, Fuga...
が表示される。