🎼
Symfonyのプロジェクトの作成・実行
実行環境
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
Discussion