Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sylius - E-Commerce for Symfony Developers

Sylius - E-Commerce for Symfony Developers

Talk at the SymfonyLive London conference. Why Sylius is the eCommerce of the future and how you can use it as a Symfony developer.

Pawel Jedrzejewski

September 26, 2014
Tweet

More Decks by Pawel Jedrzejewski

Other Decks in Technology

Transcript

  1. YEAH… And they think that you can do better than

    hundreds of open source developers…
  2. 2014 OBJECT ORIENTED PHP • Decoupled architecture • No singletons

    and static access • Testable code • Lack of magic and hacks • DependencyInjection and many other design patterns
  3. Modern Foundation • Symfony full-stack combined with tons of excellent

    libraries from the community • Shares the platform with great projects like OroCRM, Akeneo PIM, Drupal, eZ Publish • Built on the shoulders of the open source giants
  4. Next level Flexibility on symfony • Dynamic mapping of the

    default models • Every service replacable and classes parametrized • Doctrine RTEL • Dynamic calculators for shipping, pricing, taxes • Events • Validation can be customized • Format agnostic controllers
  5. Resource management via orm, Mongo dB ODM and PHPCR ODM

    Sylius Resource Layer ORM MongoDB PHPCR Your custom driver?
  6. Behavior DRIVEN DEVELOPMENT • StoryBDD with Behat maintains high level

    of communication quality among the community • We communicate using examples • Behat scenarios are executed as acceptance tests automatically on every change • SpecBDD using phpspec punishes us for any bad design decision • CodeQuality
  7. Require a single component $ composer require sylius/product:v0.10.0 <?php !

    $product = new Product(); ! $product ->setName(’T-Shirt’) ->setDescription(’Really cool t-shirt’) ;
  8. Install symfony2 bundle $ composer require sylius/cart-bundle:v0.10.0 <?php ! class

    FooController extends Controller { public function barAction() { $cart = $this->get(’sylius.cart_provider’)->getCart(); } } And follow the installation instructions from the documentation
  9. Install SyliuS $ composer create-project sylius/sylius -s dev $ cd

    sylius $ app/console sylius:install $ composer create-project sylius/sylius-standard or
  10. What about content management? Symfony CMF Integration • Very basic

    integration with the CMF • Currently working on Sylius project with many CMS features • Big plans to take this integration even further • Block based product pages, all media stored via CMF