現在、ECサイトを開発中です。public および admin モジュールがあります。
製品の表示や注文の作成など、両方のモジュールで同じ機能を提供する場合があります。ただし、製品の追加 (管理者にある) のように、パブリックまたは管理者に存在する機能もいくつかあります。
私たちの問題は、共通の機能がロジックの重複につながることです。両方のモジュールに実装する必要があります。
この問題を解決する 1 つの方法は、レイヤーを利用することです。そこで私たちがしたことは、共通のロジックをモデルに移すことでした。ただし、コントローラーは以下に示すようなコードを複製しています。
public function invoice() {
$this->Invoice->create();
$this->Invoice->setCustomer($this->getCurrentUser);
$invoice_items = // get list of items from post
$this->Invoice->setItems($invoice_items);
$this->Invoice->save();
}
私の質問は、このロジックをカプセル化する Web サービスを作成するのが賢明であり、管理モジュールとパブリック モジュールから呼び出すだけでよいということです。
Magento はパブリック パネルと管理パネルをどのように実装しますか。そして、そのロジックをどのように管理しますか..