1

私は CakePHP 用のプラグインのコレクションを作成しようとしていますが、プロジェクトのさまざまな部分を構成するのに問題があります。これはおそらく以前に数回尋ねられたことを知っており、SOに関する関連トピックをいくつか見つけましたが、本当に満足のいく解決策はありません.

いくつかの要件:

  • さまざまなモジュールが疎結合されていますが、それらはすべてコアモジュールに依存しています。

  • 一部のモジュールは実際に相互に対話します。たとえば、ダッシュボードモジュールが存在することがわかった場合、モジュールはダッシュボード ページを登録できます。

  • コアモジュールは、PHP 基本クラスと、他のモジュールが継承/使用できる RequireJS モジュールを提供します。

  • 互換性を確認するために、モジュールごとに異なるバージョン タグを使用すると便利です。

私の問題:

  • バージョン管理にはどのようにアプローチすればよいですか? 1 つの Git リポジトリでプロトタイピングを行いましたが、特にすべてのモジュールに 1 つのタグしか割り当てることができなかったため、満足のいくものではありませんでした。Git サブモジュールはここに行く方法ですか?

    すべてのモジュールのリポジトリを作成することもできますが、これは面倒に思えます。特に、コアへの変更には依存モジュールの変更が必要になる可能性があり、同じブランチで行うのが理にかなっています (またはしないでください)。

  • Javascript コードはどこに配置すればよいですか? ほとんどのモジュールはいくつかのコアRequireJS モジュールに依存するため、それらを 1 つの場所に保持し、Grunt が縮小バージョンをそれぞれの CakePHP-Plugin Javascript の場所に配布できるようにすることは理にかなっています。

    これは当然、SCM でいくつかの問題を引き起こします。

私はこの種の構造についてまったく経験がありません - ここでの一般的なアプローチは何ですか?

4

1 に答える 1

0

これは私のアプローチにすぎません。お役に立てば幸いです。

バージョン管理にはどのようにアプローチすればよいですか? 1 つの Git リポジトリでプロトタイピングを行いましたが、特にすべてのモジュールに 1 つのタグしか割り当てることができなかったため、満足のいくものではありませんでした。Git サブモジュールはここに行く方法ですか?

また、すべてのモジュールのリポジトリを作成することもできますが、これは面倒に思えます。特に、コアへの変更には依存モジュールの変更が必要になる可能性があり、同じブランチで行うのが理にかなっています (またはしないでください)。

モジュールごとに、新しいレポを作成します。CakePHP では、これらはプラグインと呼ばれます。プラグインは、ログ ビューアーや使用する基本的なツールなどに非常に役立ちます。composer を使用してプラグインをインストールすると、ローカルでテストしたアプリケーションを非常に簡単に更新できます。また、私が勤めている会社でもこの方法を採用しています。唯一の違いは、プラグイン リポジトリを公開ではなく非公開にすることです。これは、非常に非公開の CRM アプリケーションであるため、コードを世界中に使用してほしくないからです。

この件に関する詳細情報:

Javascript コードはどこに配置すればよいですか? ほとんどのモジュールはいくつかのコア RequireJS モジュールに依存するため、それらを 1 つの場所に保持し、Grunt が縮小バージョンをそれぞれの CakePHP-Plugin Javascript の場所に配布できるようにすることは理にかなっています。

JavaScript が 1 つのプラグインのみ、および 1 つのプラグインのみの場合は、プラグインの myplugin/webroot/js/ フォルダーに配置する必要があります。そこに属しているからです。いくつかのプラグイン、またはコア アプリ自体でさえ使用される JavaSript がある場合は、それを app/webroot/js フォルダーに配置します。

http://book.cakephp.org/2.0/en/plugins.html#plugin-assetsに記載されているドキュメントに注意してください。


私の「回答」に関してまだ質問がある場合は、以下のコメントで質問してください。これが何らかの形で役立つことを願っています。

于 2013-10-08T10:30:50.560 に答える