Sylius 폴란드의 쇼핑몰 솔루션이야.



심포니 프레임워크로 되어있는데  근데 지금 이게 중요한게 아니고



상태머신 패턴을써서 쇼핑단계를 나누었다는거임
그래서 중간에 플러그인을 하나 끼우고 yaml 에다가 끼우면 됨



그리고 주문내역같은거도 전부 스냅샷으로 지정해서  어제산 물건이름을 판매자가 맘대로 바꿔도 주문내역에서 안바뀜( 영카트는 그냥 막바뀜)

쿠폰도 스냅샷이라서 과거쿠폰을 실수로 바꿨다거나 해도 옛날 쿠폰 그대로 남아있음.




[sylius_product] (상위 상품 개념: 마스터 데이터) │
 ├─► [sylius_product_translation] (다국어 테이블: 상품명, 설명, 슬러그)
 │ └─► [sylius_product_variant] (실제 재고/판매 단위: 옵션, SKU)
      │ ├─► [sylius_channel_pricing] (채널별 가격: 도메인/국가별 가격 차등)
      │ └─► [sylius_product_variant_translation] (옵션명 다국어)


그리고 재고도 상태머신으로 관리해서 

고객이 주문 - > 예약 재고 올림
최종 결제 승인  -> 예약재고 내리고 실제 재고 내림


결제창 끄거나 이탈 - 예약재고 내리고 끝.  - 실제 재고가 바뀐게 아니라서 롤백 안복잡함

주문상태가 바뀌면 그거따라 이동 ㅇㅇ


상태머신의 상태변화에 따른 이벤트로만 작동 


---------------------------------
그리고 헤드리스라고함.
중견 이상급에서도 사용중.


PHP Sylius

홈페이지 설명 - 
개발자 친화적인 환경을 제공하는B2C, B2B  전자상거래 프레임워크입니다.

이 프레임워크는 SW 개발의 정립된 모범사례와 오픈소스 솔루션의 잠재력을 최대한 활용합니다.

https://sylius.com/


Sylius - eCommerce platform for custom solutions

The highest quality of code and Symfony’s unified API standards make Sylius the most customizable and integrative platform on the market.

sylius.com




1ebec223e0dc2bae61abe9e74683726d32d4a7cbed778ea292a21014f8a7a905e4e42203ba094a00bf