Sylius - Decoupled E-Commerce for Symfony and Drupal


E-Commerce has changed. Existing technology is not suitable for the crazy ideas of start-up market and even big companies are struggling with current solutions, which cannot be adapted to their unique needs. Tailored e-commerce experience is something that everyone needs, but monolithic applications cannot provide us with this level of flexibility. That’s why I created Sylius - Decoupled E-Commerce.


It all started as a pet project, when I was in high school and grew to be an exciting adventure with Open Source. Sylius is completely free and released under the very-permissive MIT license. It is community-driven project and there is no enterprise version.


What makes Sylius different? Firstly, it is constructed from fully decoupled components. Secondly, it stands on the shoulders of latest PHP technology and methodologies, including Symfony and Doctrine. Development happens though full-stack BDD, with Behat and phpspec.


It provides a full shop platform, but you can also pick the libraries you need, without worrying about the rest. Do you need to build a simple product catalog? Just take Sylius product component and you are pretty much done. Do you need to integrate shipment system into your existing application? Add Sylius’ Shipping package to composer.json and plug it in your project. Don’t like how Sylius does some things by default? Replace it with your own implementation or build your very own platform from scratch, combining components in your unique way. It is that simple.


In this talk I introduce core concepts behind the project, show code examples and encourage everyone to try it out and contribute. While Sylius app is based on Symfony, components are plain-PHP libraries and can be used with any framework.


Thanks to Sylius openness, it is also a great learning example for developers. I think it is safe to say it is the biggest open source Symfony application and also most rich reference for Behat and phpspec usage.


Session Track

Coding and Development

Experience Level


Drupal Version