[Symfony] 最近のSymfony Standard Editionのディレクトリ構成
この記事はSymfony Advent Calendar 2015 15日目の記事です(当日0時過ぎに枠が空いてる事に気づいて急遽書きました。)。前回は@tai2さんのDoctrineのベストプラクティス(Doctrine 2 documentationから抜粋翻訳)でした。
既にお使いの方はご存知かと思いますが、Symfony Standard Editionのディレクトリ構成がSymfony 3.0になって少し変わりました。
変更点をまとめるとこんな感じです。
app/cache
とapp/logs
がそれぞれvar/cache
とvar/logs
に移動app/console
がbin/console
に移動bootstrap.php.cache
とSymfonyRequirements.php
がappではなくvarディレクトリに生成されるようになったapp/phpunit.xml.dist
がプロジェクトルートに移動- プロジェクトルートに
tests
ディレクトリができ、Tests
を接頭辞とするPSR-4の名前空間ができた src/AppBundle/Tests
がtests/AppBundle
に移動- その関係でテストのnamespaceが
AppBundle\Tests
からTests\AppBundle
に移動
因みにこのディレクトリ構成、SensioDistributionBundleが3.0以降であれば、Symfony 2系でも実現可能です。composer.jsonのextraに下記を定義しましょう:
"extra": { "symfony-bin-dir": "bin", "symfony-var-dir": "var", ...
定義したらcomposerのScriptを起動します:
$ composer run-script post-install-cmd
実際にGitHubに公開してみたので気になる方は要チェック!(2系と3系の差分はこちら)
appディレクトリがすっきりするので、個人的にvarディレクトリのアイディアが気に入ってます。
おわり
明日は@teematsuさんのSymfony 2.8のAuto WiringとPHP-DIです。乞うご期待!!