はじめに

導入

運用

参加・貢献

リソース

GitHubでこのページを編集

Home / 5 / パッケージ構成

パッケージ構成

baserCMSのパッケージ構成は、basercms を親パッケージとして、BaserCore、BcAdminThird など必要とするパッケージを CakePHP のプラグインとして開発し、子パッケージとして管理しています。

コアの構成

親パッケージ

Gitでクローンする本体。親パッケージとして baserCMS のアプリケーションフレームを提供します。

子パッケージ

コアパッケージ

baserCMSのコア(BaserCore)、デフォルトの管理画面テーマ(BcAdminThird)、デフォルトのフロントテーマ(BcFront)、そしてインストーラー(BcInstaller)は、/plugins/ 配下に配置し開発しています。
なお、BaserCore は、主にURLに紐づくルーティングと、ビジネスロジックを提供します。

これらのパッケージは、配布版では Composer でインストールするので /vendor 配下に配置されます。

コアプラグイン・コアテーマ

baserCMSのコアパッケージと共にコアに梱包するいくつかのプラグインはコアプラグインとコアテーマもコアパッケージ同様 /plugins/ 配下に配置し開発しています。

これらのパッケージは、配布版では Composer でインストールするので /vendor 配下に配置されます。

その他のプラグインも同様に、CakePHPのプラグインとしての開発を前提とし、 /plugins/ 配下内に配置します。
なお、コアプラグイン、コアテーマ以外のプラグインのロードについて、 Composer でのインストールは不要です。 管理画面でプラグインをインストールする事で利用可能となります。

プラグインフォルダの命名

コアパッケージ、コアテーマ、コアプラグインについては、ハイフン区切り(dasherize)とし、コアに梱包したサンプルや、その他の外部プラグインについては、アッパーキャメルケースとします。

例)
コア:baser-core / bc-admin-third / bc-blog
その他:BcSpaSample

モノレポによるパッケージ管理

複数のパッケージを統合的に管理するためにPHP用のモノレポ 「monorepo-builder」 を利用しています。
リリース時に次のレポジトリに自動分割してコミットします。

Composer の Packagist はこちらのレポジトリに紐付いています。

参考文献

MonorepoBuilderでPHPのモノレポを作るチュートリアル