🐘
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