0

カスタム CMS では、すべてを異なるモジュールに抽出しました。これには、ユーザー システム、ロール マネージャー、ページ エディター、テーマ システムなどのすべてが含まれます。

これらのいくつかは、最初にシステムを実行するために必要です。

したがって、composer.json には既に約 15 の異なる「要件」があります。

さて、私が疑問に思っているのは、umberella パッケージを作成する方がよい考えではないかということです。このパッケージ自体には何も含まれていませんが、さまざまな断片がすべて必要になります。

したがって、15 の異なる require を使用する代わりに、

{
    "require": {
        "cms/core": "1.0.*"
    }
}

傘下のパッケージを更新するたびに、傘パッケージのバージョンを更新する必要がある場合の欠点は、フレームワークの最上位部分が 2.7.34 にすぎない場合でも、傘が 26.12.116 または 26.12.116 または似ている。

アンブレラ パッケージを作成した場合、これをどのように管理する必要がありますか? パッケージにすべてのパッケージを必要とするだけ*ですか?これを行うと互換性の問題が発生しますか?

4

1 に答える 1

2

本当にファイルが含まれていない場合でも、それを実行してタイプをメタパッケージに設定できます。実際、ユーザーの生活が楽になるかもしれません。

ただし、お勧めするのは1.0.*、すべてのサブパッケージの require: であり、すべてをバンプするときに1.1に変更し1.1.*てタグを付けることcms/core 1.1.0です。それは、すべてのバージョンが多かれ少なかれ同期している場合です。

すべてのコンポーネントが個別にバージョン管理されている場合、少し難しくなります。その時点で、おそらく~1.0要件を使用するのが最善でしょう。これにより、2.0 への更新 (ただし、2.0 を含まない) が許可されます。つまり、少なくとも連携して動作することを確認できます。しかし、実際には特効薬はありません。ケースによって異なります。先に進む前に、バージョン管理の慣行についてもう少し理解を深める必要があります。

于 2013-04-30T08:03:12.960 に答える