PHPのフレームワークとして圧倒的な人気を誇る Laravel。モダンで読みやすく、拡張性も高いため、企業システムやスタートアップのWebアプリにも多く採用されています。
本記事では Laravelの全体像からインストール方法、ルーティング・テンプレート・データベース(CRUD)まで、Laravel開発の「はじめの一歩」を踏み出します。

Laravelの概要と特徴
- Model-View-Controller(MVC) に基づく整理された構造
- ルーティング、ミドルウェア、セキュリティなど豊富な機能
- Bladeテンプレートでスマートな画面生成
- Eloquent ORM による高速なDB操作
- Composerベースでライブラリ管理も簡単
Laravelは「美しいコード」「開発体験の良さ」に重点を置いたフレームワークです。
Laravelのインストール
要件
- PHP 8.1 以上
- Composer
- MySQL or SQLite
プロジェクト作成
composer create-project laravel/laravel laravel-app
laravel-app
ディレクトリが作成され、初期構成が整います。
サーバー起動
cd laravel-app php artisan serve
http://localhost:8000
にアクセスするとLaravelのトップページが表示されます。
ルーティングの基本
Laravelでは、routes/web.php
にルート定義を記述します。
例:Helloページ
// routes/web.php use Illuminate\Support\Facades\Route;
Route::get('/hello', function () {
return 'こんにちは、Laravel!';
});
ブラウザで /hello
にアクセスすると、テキストが表示されます。
Bladeテンプレート入門
Laravel独自のテンプレートエンジン Blade を使うと、HTMLとPHPをスッキリ書けます。
テンプレートファイルの作成
// resources/views/hello.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Hello</title>
</head>
<body>
<h1>こんにちは、{{ $name }} さん!</h1>
</body>
</html>
ルートでBladeを使う
Route::get('/hello', function () { return view('hello', ['name' => '佐藤']); });
Eloquent ORMとデータベース(CRUD処理)
.envファイルにDB接続設定
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_db DB_USERNAME=root DB_PASSWORD=secret
マイグレーションの作成と実行
php artisan make:migration create_tasks_table
// database/migrations/xxxx_xx_xx_create_tasks_table.php
public function up() {
Schema::create('tasks', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->timestamps();
});
}
php artisan migrate
モデルの作成
php artisan make:model Task
コントローラーの作成
php artisan make:controller TaskController --resource
ルーティング定義(CRUD一括)
// routes/web.php
Route::resource('tasks', TaskController::class);
コントローラー内の例(TaskController.php)
use App\Models\Task;
public function index() {
$tasks = Task::all();
return view('tasks.index', compact('tasks'));
}
public function store(Request $request) {
Task::create(['title' => $request->title]);
return redirect()->route('tasks.index');
}
Bladeで表示
// resources/views/tasks/index.blade.php
<h1>タスク一覧</h1>
<form method="POST" action="{{ route('tasks.store') }}">
@csrf
<input name="title" placeholder="新しいタスク">
<button type="submit">追加</button></form>
<ul>@foreach ($tasks as $task) <li>{{ $task->title }}</li>
@endforeach </ul>
まとめ
Laravel入門の前編では、次の基本機能を一通り解説しました:
- Composerを使ったLaravelの導入
- ルーティングとBladeによるテンプレート表示
- Eloquent ORMを使ったDBのCRUD操作
次回の「Laravel入門(後編)」では、バリデーション、ミドルウェア、セッション管理、API構築など、Laravelのさらなる機能を深掘りしていきます。