Zenn
🎼

Symfonyのプロジェクトの作成・実行

2025/03/16に公開

実行環境

macbook
composerインストール済み
VSCodeインストール済み

プロジェクトの作成方法(2パターン)

Composerを使ってプロジェクトを作るための構文は以下の通り。

composer create-project [テンプレート名] [プロジェクト名]
Composerとは?

PHPのパッケージ管理ツール。
簡単に言うと、「PHP のライブラリをインストール・管理・更新するツール」のことで、以下のようなことができる。

✅ 必要なライブラリを簡単にインストール
✅ 依存関係を自動で解決(関連するパッケージもまとめてインストール)
✅ composer update でライブラリを最新のバージョンに更新
✅ プロジェクトごとに異なるバージョンのパッケージを管理

プロジェクトとは?

アプリケーションに必要なファイルやライブラリ、設定など一式をまとめたもの

具体的には以下の2パターンがある。

// Webアプリケーションのフルセットを作成
composer create-project symfony/website-skeleton [プロジェクト名]

//必要最小限のアプリケーションを作成
composer create-project symfony/skeleton [プロジェクト名]
website-skeletonとは?

Webアプリケーションで利用される全てのサービスが組み込まれたプロジェクト。
最初のうちは、とりあえずこえrを利用すれば、Symfonyの機能が一式揃ったプロジェクトを作成できる。全て組み込まれているのでプロジェクトサイズはかなり大きくなる。(何も作成していない状態で40MB以上)

skeletonとは?

symfonyの必要最小限のプロジェクト。shmfonyの骨格部分のみで、様々な機能を提供するサービス類は一切組み込まれていない。(何も作成していない状態で10MB程度)

どちらを使ってプロジェクトを作成すべきか?

✅学習ならwebsite-skeletonが便利
 必要なものが一通り揃っているので安心して使える
✅小さなサービスやAPI開発にはskeletonを使用
 画面表示をあまり必要としないサービスやAPIを作成する場合、最低限の機能しか無いskeletonを使う

プロジェクトのフォルダ構成

website-skeletonのフォルダ構成

skeletonのフォルダ構成

フォルダ名 説明
bin Symfonyで使うコンソールプログラムが入っている。プロジェクトを実行する際に使う
config 設定情報を記述したファイル類がまとめてある
public アプリケーションの公開フォルダ。ここのindex.phpがアプリケーションのルートにアクセスされた際に実行されるファイル
src ソースコードファイルの配置場所
templates 画面表示に用いるテンプレートファイルがまとめられている
tests ユニットテスト関係のファイルが保管される
translations 国際化対応のファイル類が保管される
var 一時ファイルの保管場所。キャッシュファイルやログファイルなどが保存される
vendor ベンダーのプログラム。Symfonyの本体のプログラムはここにある
ファイル名 説明
.env 環境設定ファイルのテンプレート。これ自体は使われない。
.env-dist 環境設定ファイル。.envをコピーしたもので必要に応じて書き換える。
.gitignore Gitで無視されるファイルの情報
composer.json Composerの設定情報ファイル。Composerによる依存性情報を記述する
phpunit.xml.dist Composerで依存情報をロックするための情報が記述されている
symfony.lock Symfonyで依存性をロックするための情報

プロジェクトの実行方法

php -S localhost:8000 -t public

website-skeletonの場合

skeletonの場合

Discussion

ログインするとコメントできます