1

2 つの異なるアプリケーション (フロントエンド、バックエンド) を持つ symfony アプリケーションがありますが、共通のアクションが 1 つあります。今、私は両方のアプリでそのコードを複製しましたが、それはまったく好きではありません.

複数のsymfonyアプリケーションでアクションを再利用する方法はありますか?

4

3 に答える 3

6

最も簡単な方法はlib、共有メソッド/アクションを使用してアクション基本クラスを作成することです。次に、この機能を使用する必要があるモジュールは、 の代わりにその基本クラスを拡張するだけですsfActions

method_not_foundまた、おそらくsfComponentのイベント リスナーを使用することもできます。ただし、メソッドが実際のアクションである場合、期待どおりに機能しない可能性があります (また、特別な検出ロジックがなくても、すべてのモジュールとすべてのコンポーネントで使用できます)。

最も複雑な方法は、プラグインを作成することです。もちろん、それには、任意のモデルで動作するロジックを動的にする必要があるため、スキーマの関連部分をプラグインのスキーマに構成または分離できます。

于 2011-04-30T22:33:55.610 に答える
1

さらに2つのオプション:

1)Linuxを使用している場合は、actions.class.phpへのシンボリックリンクを作成します。同じテンプレートを共有している場合は、モジュール全体へのシンボリックリンクを作成します。

cd apps/backend/modules/name
ln -s ../../frontend/modules/name name

2)開発にあまり進んでいない場合は、プロジェクトをリファクタリングして、アプリケーションを1つだけにします(私のお気に入り)。

于 2011-05-01T09:36:43.650 に答える
0

モジュール (およびそのアクション) を共有したい場合、適切な方法はプラグインを作成することです。

于 2011-05-05T11:57:06.100 に答える