質問
開発プロジェクトではどのようなディレクトリ構造が一般的に使用されているのか気になります。つまり、ビルド、リリースのデプロイなどを容易にするという考えを意味します。
最近使用したのは、 Maven の構造 Java プロジェクトの場合はそうですが、非 Maven 駆動のプロジェクトにとって最適な構造かどうかはわかりません。
そこで、2 つの質問があります。新しいプロジェクトを始めるとき、どのような構造を使用しますか?そして:たとえば Java クラスを PHP アプリケーションに統合するなど、2 つの異なる言語を統合する必要がある場合はどうすればよいでしょうか。PHP ファイルはソース ファイル、Web ファイルです。/src、/classes、webapps/php を使用しますか?このようなシナリオではどのような選択をしますか。
注意として:また、ディレクトリ名に何を選択しているのかも気になります。私は 3 文字の名前 (src、lib、bin、web、img、css、xml、cfg) が好きですが、libraris、sources、または htdocs/public_html のようなわかりやすい名前についてはどう思いますか?
解決
数年間さまざまな構造に取り組んだ後、私は最近、ほとんどのバリエーションを収容できる構造を見つけました。
/project_name (everything goes here)
/web (htdocs)
/img
/css
/app (usually some framework or sensitive code)
/lib (externa libs)
/vendor_1
/vendor_2
/tmp
/cache
/sql (sql scripts usually with maybe diagrams)
/scripts
/doc (usually an empty directory)
他のヒント
Maven は使用しませんが、Maven ディレクトリ構造を使用します。
私たちが必要とする概念を正確に反映していることがわかりました (例:デプロイメント コードとテスト コード、コードとデータ、インストーラーとコードの分離)。また、私たちは次のように考えています もし いつか Maven に切り替えたとしても、プロセスのほとんどは同じままです。
Zend Web サイトでディレクトリ構造に関する興味深いドキュメントを見つけました。
http://framework.zend.com/wiki/display/ZFDEV/Choosing+Your+Application%27s+Directory+Layout