2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

「ドメイン駆動設計入門」のLaravelによる実装例:Chapter 0-開発環境のセットアップ

Last updated at Posted at 2023-06-11

本プロジェクトでは、成瀬允宣氏著の「ドメイン駆動設計入門」のLaravel 10を用いた実装例を示します。

当該書籍では、ドメイン駆動設計(Domain Driven Deplopment, DDD)を用いたWEBアプリケーションの開発例が示されており、素晴らしい著作であることは言うまでもありません。
しかしながら実装はC#で示されているため
、例えばPHPフレームワークの代表例であるLaravelなどでDDDによる実装を行いたい場合には、具体的な実装例が分かりづらくなってしまいます。

そこで本プロジェクトでは、「ドメイン駆動設計入門」のLaravelによる実装例を示すことで、Laravel開発者のDDD実装の手助けとなることを目指します。あくまでLaravelの実装例を示すことを目的としていますので、ドメイン駆動設計とは何かについては書籍をお読みください。

これが皆様の開発の手助けとなれば幸いです。ご意見等ございましたら、コメント欄やIssueでお伝えいただければと思います。

目次

Githubにソースコードはアップ済みです。

前提条件

本プロジェクトでは、Docker上で作業を行います(Dockerの知識は必要ありません)。
Docker上で作業する際、Visual Studio CodeのDev Containers 拡張機能を使用すると開発が便利になりますので、
Visual Studio Codeと拡張機能のインストールを推奨します。

また、PHPとPHPのパッケージマネージャーであるComposerをローカルマシンにインストールしておく必要があります。

Chapter 0: Laravel及びDocker環境のセットアップ

まずは、LaravelとDockerの開発環境を構築していきましょう。

以下でlaravel v10.0のプロジェクトをsrcフォルダ内に作成します。

composer create-project laravel/laravel src 10.0 --prefer-dist

srcフォルダに移動し、sailをインストールします。
これにより、Docker上での作業を行うとができます。
また、php artisan sail:install --devcontainer--devcontainerオプションをつけることにより、
Visual Studio CodeのDev Containersの設定フォルダがsrc/.devcontainerに作成されます。
これにより、開発がかなり便利になります。

cd src
composer require laravel/sail --dev
php artisan sail:install --devcontainer

rootディレクトリに戻り、srcディレクトリをVisual Studio Codeで開き直します。

cd ..
code src

Visual Studio CodeのCommand Paletteを開き、Dev Containers: Reopen in Containerをクリックすると、Docker上でコードの編集を行うことができます。

以下でサーバーを立ち上げます。

php artisan serve

表示されたlocalhostのURLをブラウザで立ち上げ、Laravelのページが表示されていれば、セットアップ完了です。

INFO  Server running on [http://127.0.0.1:8000].  
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?