fuelphpのアプリ基盤はデフォルトのままで構造を変えない方が良いものだと考えていた時期が俺にもありました

fuelPHPディレクトリ構造は、デフォルトだとフレームワークであるcore配下をソース管理対象としてしまうのでなんだか微妙です。


何が微妙かというと、そのままアプリ基盤としてソース管理すると、新人君や中国方面から来た異人さんにcore配下を勝手に修正されてしまうのでイマイチです。
彼らに基盤を書き換えないメリットについて手ほどきするほど私は優しくありませんし、理解を得てもらうための時間と労力がもったいないですし、精神衛生上とってもよくありません。
javaだとjarファイルになっているので、書き換えられる心配もなくて良いのですが、ここはPHP特有の対応が必要になる部分です。


そこで、ディレクトリ構造を変えて、composerを導入して、makeファイルでいいカンジにしてみましょう。(やり方については省略)

  • projectname
    • fuel
      • app
        • cache
        • classes
        • views
      • core
      • packages
      • vendor
    • public
    • composer.json

当初はfuel/appとあって、なかなかいい構成だなと思っていましたが、毎回ディレクトリを下るのがめんどくさくなったのでfuel/appを消します。

  • projectname
    • cache
    • classes
    • views
    • core
    • packages
    • vendor
    • public
    • composer.json

fuel/appを消すとなんだか混ざってわかりにくいので、core,packagesをcomposer管理にします。

  • projectname
    • cache
    • classes
    • views
    • vendor
      • fuel ・・・パッケージ郡
    • public
    • composer.json

こんな感じになってスッキリします。
ソース管理する際はvendor配下を空っぽにして登録し、それぞれの開発者がmakeしてcomposer経由で対象パッケージをvendor配下へダウンロードするという仕組みになるのでCoreが書きかえれる心配もなくなります。