ほとんどの場合、自分のニーズを満たすサードパーティ製モジュールを使用したいのですが、それらを特定のアプリケーションに使用するには、いくつかの変更を加える必要があります。より具体的には、ACL 機能を提供するモジュールを使用しており、そのモジュールはユーザーと役割を提供するモジュールに依存しています。モジュール自体には、組み込みのデータベース構造、定義されたユーザー オブジェクト、定義された役割オブジェクト、定義されたそれらの間の関係などがあります。モジュールには、キャプチャ、特定のレイアウトを含むいくつかの HTML ファイル、およびその他のものもあります。
ACL を使用する必要がありますが、他のすべてのものを使用する必要はありません。したがって、モジュール内のものを自分のニーズに合わせてカスタマイズする必要があります。つまり、次のようになります。
- データベース スキーマの再構築 - フィールドの追加、テーブル間の関係の 1 対多から多対多への変更、テーブルの追加、他のテーブルの削除など
- HTML を更新して、HTML コード、jQuery コードなどを追加します。
- 別のクラスを使用するようにキャプチャ コードを更新する
- 将来的には、コードが ACL オブジェクト自体を生成する方法を変更する可能性があります
ZF2 の適切な方法は、モジュールを拡張して自分のニーズに合わせて変更することであるという印象を受けています。これらのモジュールを簡単に拡張して変更を加える方法はわかりませんが、おそらく方法はあります。拡張すると、拡張機能が基本モジュールが既に持っていた多くのものを元に戻したりやり直したりしようとするのではないかと心配しています。つまり、ぐちゃぐちゃになります。独自の ACL モジュールを作成することもできます。
もう 1 つのオプションは、モジュールを直接編集することです。フォルダー内のモジュールのコードを編集することはお勧めできないため、編集したくありませんvendor
が、基本的にはモジュールをそのまま使用してハッキングを開始したいと考えています。
質問: サード パーティ製モジュールを ZF2 のように使用しながら、拡張的なカスタマイズを行うにはどうすればよいですか?
現在、モジュールをそのまま使用し、そのコンテンツを ZF2 のmodule
フォルダーにコピーして、独自の ZF2 アプリケーションの内部モジュールとして使用することを考えています。その後、メインのアプリケーション コードと同じバージョン コントロールにチェックインされます。
考えられる唯一の欠点は、モジュールが元の作成者によって更新され、その更新が必要な場合、それらを手動でコピーして組み込むか、git パッチなどを使用する必要があることgit cherry-pick
です。