🐘
Laravel 入門1 ページ追加
記事一覧
- Laravel × Docker 最速環境構築
 - Laravel 入門1 ページ追加
 - Laravel入門2 bladeディレクティブ
 - Laravel入門3 静的ファイル
 - Laravel入門4 Request
 - Laravel入門5 Todoアプリ(データベース)
 - Laravel入門6 Todoアプリ(認証機能)
 - Laravel入門7 Todoアプリ(CRUD)
 
【超重要】処理の順番
- 以下の順に処理が実行されます
 
# 逆順に作成していきます
1. web.php
    ⬇︎
2. Controllers
    ⬇︎
3. views
- コメントアウトの箇所を使用します
 
.
├── laravel_app
│   ├── app
│   │   └── Http
│   │       └── Controllers # コントローラー(PHP)
│   ├── resources
│   │   └── views # ビュー(HTML)
│   └── routes
│       └── web.php # ルーティング(URL)
├── docker-compose.yml
└── Dockerfile
views
laravelでは見た目を作るのにhtmlファイルの代わりにbladeファイルを使う
bladeファイルとは
基本的にはhtmlと変わらないが、条件分岐やループを描くことが可能
(詳しくは、次回記事で紹介)
ファイル作成
- topディレクトリ内に
index.blade.phpを作成 
(今回はtop/index.blade.php)
.
├── laravel_app
│   └── resources
│       └── views
│           └── top
│               └── index.blade.php # ここに作成する
├── docker-compose.yml
└── Dockerfile
- 
index.blade.phpに記述 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h1>トップページ</h1>
</body>
</html>
Controllers
作ったindex.blade.phpを返すコードを書きます
コントローラーとは
アクセスされた際の処理を記述するところ
ファイル作成
- Dockerコンテナに入る
 
docker compose run app bash
- コントローラーファイルを作るコマンドを実行
 
(今回はTopController)
php artisan make:controller TopController
以下のようにファイルが生成されれば完了
.
├── laravel_app
│   └── app
│       └── Http
│           └── Controllers
│               └── TopController.php # ここに生成される
├── docker-compose.yml
└── Dockerfile
- 
TopController.phpに記述 
(今回はindex関数を作成)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TopController extends Controller
{
    function index() {
        // 今回はviews/top/index.blade.phpなので"top.index"で指定可能
        return view("top.index");
    }
}
web.php
以下のようなルーティングを作成する
- 
http://localhost:8000/topにアクセスした際に、TopControllerのindex関数を呼び出すようにする 
ルーティングとは
特定のURLにアクセスした際の処理を割り当てること
ルーティングにはメッソドを指定する
メソッドとは
そのルーティングがどのような操作なのかを表す。
- get: 取得
 - post: 保存
 - put: 更新
 - delete: 削除
 
(patch: 一部更新)-> 今回の記事では使わない
ファイル作成
- web.phpに記述
 
<?php
use Illuminate\Support\Facades\Route;
// 使用するコントローラーをインポート
use App\Http\Controllers\TopController;
Route::get('/', function () {
    return view('welcome');
});
// Route::メッソド(URL, [コントローラー::class, 関数名])->name(ルーティング名);
// メソッド -> get, post, put, delete, (patch)
Route::get('/top', [TopController::class, 'index'])->name("top");
.
├── laravel_app
│   └── routes
│       └── web.php # ここに記述
├── docker-compose.yml
└── Dockerfile
http://localhost:8000/topにアクセスして以下のような画面が出ればOK

Discussion