현재 전자 상거래 사이트를 개발 중입니다. 우리에게는 공개 및 관리 모듈이 있습니다.코드 중복 방지 방법
때로는 제품보기 또는 주문 생성과 같은 두 기능 모두에서 동일한 기능을 제공합니다. 그러나 제품을 추가하는 것과 같이 공개 또는 관리자 (admin에 있음)에있는 일부 기능도 있습니다.
우리의 문제는 일반적인 기능이 논리의 중복을 초래한다는 것입니다. 우리는 두 모듈 모두에서이를 구현해야합니다.
문제를 해결하는 한 가지 방법은 레이어를 사용하는 것입니다. 그래서 우리가 한 것은 공통 논리를 모델로 옮기는 것입니다. 그러나, 컨트롤러는 같은 여전히 중복 코드는 다음과 같습니다
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();
}
내 질문은, 그것은이 로직을 캡슐화하는 웹 서비스를 만드는 것이 현명하다 당신은 단지 관리자 및 공공 모듈에서 호출해야 ..
Magento는 공용 패널과 관리 패널을 어떻게 구현합니까? 그리고 어떻게 그것의 논리를 관리합니까?