ウェブ開発の世界において、LaravelはPHPで最も人気のあるフレームワークの一つです。初心者でも理解しやすく、PHPを使ったモダンなウェブアプリケーション開発を効率的に行えるため、多くの開発者に採用されています。このガイドでは、Laravelの基本からプロジェクト構築までしっかりとカバーしていきます。
Laravelとは?
Laravelは、シンプルで効率的なコードを書くことを目的としたPHPフレームワークです。開発者が直面する一般的なタスクをシンプル化し、一貫性のある開発体験を提供します。モデルとビュー、コントローラーというMVCパターンに基づいていて、開発者がコードを管理しやすくするために役立ちます。Eloquent ORM、ルーティング、セッション管理、キャッシング、認証、メール送信など、多くの機能を内蔵しています。
Laravelのインストール
最初にLaravelを使用するには、いくつかのステップを踏んでインストールを行う必要があります。準備として、PHPの最新バージョン、Composer(PHPのパッケージ管理ツール)、およびデータベース(MySQL, PostgreSQLなど)のセットアップを確認しましょう。
Composerのインストール
まず、Composerをインストールします。ComposerはLaravelが依存するライブラリを管理するためのPHPライブラリ管理ツールです。公式サイト(https://getcomposer.org/)からダウンロードし、インストール手順に従ってください。
Laravelのインストール
LaravelはComposer経由でインストールします。ターミナルまたはコマンドプロンプトを開き、以下のコマンドを実行します。
composer global require "laravel/installer"
インストールが完了すると、laravelコマンドが使用可能になります。このコマンドを使って新しいLaravelプロジェクトを作成できます。
新しいプロジェクトの作成
ターミナルで以下のコマンドを入力してLaravelプロジェクトを作成します。
laravel new my-project
このコマンドが完了すると、my-projectというディレクトリにLaravelのプロジェクトが作成されます。作成されたプロジェクトディレクトリに移動し、内蔵の開発サーバーを起動しましょう。
cd my-project
php artisan serve
ブラウザを開いてhttp://localhost:8000にアクセスし、Laravelウェルカムページが表示されることを確認します。
Laravelの基本構造
Laravelプロジェクトのディレクトリ構造について理解しておくことは非常に重要です。ここでは、いくつかの主要なディレクトリについて説明します。
appディレクトリ
ここにはアプリケーションのコアコードが含まれます。特にHttp, Modelsなどのサブディレクトリには、コントローラーとモデルのコードが含まれます。
routesディレクトリ
ルーティングはアプリケーションへのアクセスポイントを定義します。web.phpファイルにブラウザ経由のアクセスルートを定義し、api.phpにAPIルートを定義します。
resourcesディレクトリ
ビューや言語ファイル、アセット(CSS, JavaScriptなど)が含まれます。viewsサブディレクトリはBladeテンプレートエンジンを使用するHTMLファイルが格納されています。
基本的な機能の実装
それでは、簡単なウェブアプリケーションの作成に向けて基本的な機能を実装してみましょう。
ルーティングの設定
routes/web.phpに以下のコードを追加して、新しいルートを定義します。
Route::get('/hello', function () {
return 'Hello, Laravel!';
});
このルートにアクセスすると、ブラウザには“Hello, Laravel!”というメッセージが表示されます。
コントローラーの作成
次に、コントローラーを作成して、ルートからロジックを分離します。以下のコマンドを実行してコントローラーを生成します。
php artisan make:controller HelloController
app/Http/Controllers/HelloController.phpを開き、以下の内容を追加します。
namespace App\Http\Controllers;
class HelloController extends Controller
{
public function index()
{
return view('hello');
}
}
routes/web.phpを更新し、ルートをコントローラーに接続します。
Route::get('/hello', [HelloController::class, 'index']);
Bladeテンプレートの設定
次に、ビューを作成します。resources/viewsディレクトリにhello.blade.phpというファイルを作成し、以下を追加します。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hello Laravel</title>
</head>
<body>
<h1>Hello, Laravel!</h1>
</body>
</html>
ブラウザでhttp://localhost:8000/helloにアクセスし、ビューが正しく表示されることを確認します。
データベースの接続と利用
Laravelでは簡単にデータベースを利用できます。データベースの設定は、.envファイルで行います。
データベース設定
.envファイルを開き、以下のように設定を行います。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laraveldb
DB_USERNAME=root
DB_PASSWORD=
設定が完了したら、データベースにテーブルを作成し、データを簡単に操作できるよう準備します。
モデルとマイグレーション
まず、モデルと連携するテーブルを作成するためにマイグレーションを追加します。
php artisan make:model Task -m
このコマンドは、Taskモデルを作成し、関連するマイグレーションファイルを生成します。次に、database/migrationsディレクトリ内にあるマイグレーションファイルを編集し、テーブルの構造を定義します。
public function up()
{
Schema::create('tasks', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->timestamps();
});
}
マイグレーションを実行して、データベースにテーブルを作成します。
php artisan migrate
データ操作
データはEloquent ORMを用いて操作します。Taskモデルを使用して、データベースからデータを取り出す手順を次に示します。
app/Http/Controllers/TaskController.phpを作成し、以下のコードを追加します。
namespace App\Http\Controllers;
use App\Models\Task;
class TaskController extends Controller
{
public function index()
{
$tasks = Task::all();
return view('tasks.index', ['tasks' => $tasks]);
}
}
ビューを作成し、データを表示します。resources/views/tasks/index.blade.phpに以下を追加します。
<h1>Task List</h1>
<ul>
@foreach ($tasks as $task)
<li>{{ $task->name }}</li>
@endforeach
</ul>
routes/web.phpにルートを追加して、一覧表示するページを準備します。
Route::get('/tasks', [TaskController::class, 'index']);
ブラウザでアプリケーションのURLを訪問し、タスクが正しく表示されることを確認してください。
結論
これで基本的なLaravelプロジェクトの設定と簡単なアプリケーションの構築方法が理解できたかと思います。Laravelは非常に多機能で、ここではそのほんの一部を紹介しましたが、公式ドキュメントやコミュニティリソースを活用して、さらに深く探求してみてください。実際のプロジェクトを構築する際には、認証、API開発、ユニットテストなど、他の多くの機能を使用することができるので、ぜひ挑戦してみてください。


コメント