Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

4Developers 2015: Sylius - E-Commerce framework for PHP - Pawel Jedrzejewski

272 views

Published on

Speaker: Paweł Jędrzejewski

Language: Polish

Introduction of Symfony powered e-commerce framework for PHP. What is Sylius and how can it help all Symfony developers with their next online selling platform. How Sylius leverages Symfony2 flexibility to provide next-generation online-selling platform and why Symfony is the best choice for modern e-commerce.

4Developers: http://4developers.org.pl/pl/

Published in: Software
  • Be the first to comment

  • Be the first to like this

4Developers 2015: Sylius - E-Commerce framework for PHP - Pawel Jedrzejewski

  1. 1. Sylius - E-Commerce for Symfony2 4Developers, 20th April 2015 in Warsaw, Poland
  2. 2. Paweł Jędrzejewski Huge believer in Open Source Creator of Sylius Co-Founder at !
  3. 3. !!!Open Source is Awesome.
  4. 4. ?What is Sylius?
  5. 5. Sylius E-Commerce Platform for PHP
  6. 6. 197 Code contributors 800,000+ Downloads 320+ Translators running in production thousands of man-hours Combined experience
  7. 7. ?Why new e-commerce?
  8. 8. OLD PHP MONOLITHIC NOT Developer-friendly Untesteble hacky And pseudo-oop
  9. 9. ?How does it look?
  10. 10. PROTOTYPE ALERT!
  11. 11. RESPONSIVE BY DEFAULT!
  12. 12. ?What can you build using Sylius?
  13. 13. You need to innovate, in order to compete.
  14. 14. Innovation requires flexibility.
  15. 15. ?What makes Sylius different?
  16. 16. sylius STACK Sylius components Sylius bundles Sylius platform
  17. 17. Sylius components Sylius bundles Sylius platform sylius STACK
  18. 18. components and bundles
  19. 19. sylius e-Commerce toolset Product Cart Order Shipping Taxation Payment Inventory Currency Pricing Promotion Money Addressing
  20. 20. sylius Generic toolset Flow Settings Taxonomy Resource Sequence Variation Attribute Locale Grid
  21. 21. Sylius platform Core Web Interface Symfony Doctrine CMF Payum
  22. 22. Payum
  23. 23. Payum Paypal Express Checkout Paypal Pro Checkout Paypal Rest Stripe.js Stripe Checkout Authorize.Net AIM Be2Bill CreditCard Be2Bill Onsite Payex
  24. 24. Payum Paypal Express Checkout Paypal Pro Checkout Paypal Rest Stripe.js Stripe Checkout Authorize.Net AIM Be2Bill CreditCard Be2Bill Onsite Payex Offline Klarna Checkout DineroMail BitPay Paydollar PaylinkJustpay TcomPayWay Sagepay Redsys
  25. 25. Payum Paypal Express Checkout Paypal Pro Checkout Paypal Rest Stripe.js Stripe Checkout Authorize.Net AIM Be2Bill CreditCard Be2Bill Onsite Payex Offline Klarna Checkout DineroMail BitPay Paydollar PaylinkJustpay TcomPayWay Sagepay Redsys 2Checkout Authorize.Net Buckaroo CardSave Dummy eWAY First Data GoCardless Manual
  26. 26. Paypal Express Checkout Paypal Pro Checkout Paypal Rest Stripe.js Stripe Checkout Authorize.Net AIM Be2Bill CreditCard Be2Bill Onsite Payex Offline Klarna Checkout DineroMail BitPay Paydollar PaylinkJustpay TcomPayWay Sagepay Redsys 2Checkout Authorize.Net Buckaroo CardSave Dummy eWAY First Data GoCardless Manual MigsMollie MultiSafepay Netaxept(BBS) NetbanxPacnetPayFastPayflow PaymentExpress(DPS)
  27. 27. CLEAN CODE • Decoupled architecture • DRY, SOLID, KISS • Testable code • DependencyInjection and many other design patterns
  28. 28. 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
  29. 29. 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
  30. 30. Feature descriptions
  31. 31. Executed on travis-ci.org
  32. 32. Code quality
  33. 33. Compared to „old” solutions
  34. 34. !!!Show me the code!
  35. 35. <?php ! namespace AppBundleCoreBundleEntity; ! use DoctrineORMMapping as ORM; use SyliusComponentCoreModelProduct as BaseProduct; ! /** * @ORMEntity */ class Product extends BaseProduct { /** * @ORMColumn(type="decimal") */ private $fee; ! // Getters/setters. }
  36. 36. $ app/console do:sc:up —force # app/config.yml ! sylius_product: classes: product: model: AppBundleCoreBundleEntityProduct +
  37. 37. <?php ! namespace AppBundleCoreBundleFormType; ! use SyliusBundleCoreBundleFormTypeProductType as BaseProductType; use SymfonyComponentFormFormBuilderInterface; ! class ProductType extends BaseProductType { public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); ! $builder ->add('fee', 'percentage') ->remove('price') ; } }
  38. 38. ENJOY! # app/config.yml ! sylius_product: classes: product: model: AppBundleCoreBundleEntityProduct form: AppBundleCoreBundleFormTypeProductType +
  39. 39. # app/config.yml ! sylius_product: classes: product: model: AppBundleCoreBundleEntityProduct controller: YourClass repository: YourClass form: AppBundleCoreBundleFormTypeProductType
  40. 40. ?How to get started?
  41. 41. Install SyliuS $ composer create-project sylius/sylius -s dev $ cd sylius $ app/console sylius:install $ composer create-project sylius/sylius-standard or
  42. 42. State of the union Sylius • Components used in production in very complex apps • Platform used in many live projects, but requires a lot of work and stabilization • Documentation, documentation, documentation • Better community support
  43. 43. DOCS.sylius.org
  44. 44. sylius.org
  45. 45. 326 issues & 87 PRs… Good or bad?
  46. 46. github.com/sylius/sylius
  47. 47. @pjedrzejewski @Sylius @Lakion pjedrzejewski.com sylius.org lakion.com THANK YOU!
  48. 48. Image Credits https://www.flickr.com/photos/ilikespoons/8395923694/ https://www.flickr.com/photos/kalexanderson/5421517469 https://www.flickr.com/photos/woolamaloo_gazette/12822529314 https://www.flickr.com/photos/dey/44559604 https://www.flickr.com/photos/suckamc/8474229421 https://www.flickr.com/photos/kwl/4247555680 https://www.flickr.com/photos/radekkolakowski/9107577859/

×