Symfony vs other frameworks for an eCommerce site

Currently, I am looking to switch from a home grown eCommerce website to a custom site using a framework. I need something that can upscale (handle hundreds to thousands of transactions), is easily maintained, and simple to customize.

I was recommended the symfony framework by an outside source, but I have not previously heard of it. My understanding is that using something like symfony would still require integrating magento (or its ilk) for commerce on the back end.

Is there a better solution? Is there another platform that would fulfill all of my needs?

4 thoughts on “Symfony vs other frameworks for an eCommerce site”

  1. It’s hard to say what platforms would suit your needs without knowing what they are 🙂 Do you have specific requirements that are unusual in the ecommerce world? Having said that, a decent ecommerce framework will allow you to adapt the core functionality to suit your needs in a robust manner.

    As @usoban suggests, Magento doesn’t require Symfony, but it is built using the Zend Framework. So if you’re familiar with the Zend patterns, then you will adapt to Magento much quicker.

    Magento has a broad range of features “out of the box” and is certainly capable of scaling to large volumes of transactions and visitors.

    It does require serious hardware and resource optimization in that high-end configuration, but there is a body of knowledge on how to achieve that both on the Magento site and elsewhere on the web. The Enterprise Edition is also designed for performance (includes Full Page Caching) along with features/functionality that are important for administration of serious ecommerce (content merging and staging, granular permissions, etc).

    You will hear a lot of complaints about Magento’s learning curve, and they are mostly justified, particularly if you are coming from a traditional PHP coder background. However, if you take the time to work through the tutorials, and recognize that the complexity is due to the power and flexibility of the system, you are likely to find it worthwhile. Also, us StackOverflow peeps reckon that you’ll get much better support here than on the Magento forums 🙂 There tends to be some questionable advice there, at least here you can see what the peers think of the answers 🙂

    Hope all this helps!

  2. There are bundles now was developped for this purpose. Some of them can give you a lot of functions like Cart management, products by categoris,…

    This is a bundle that can help you sylius
    Also, you can base your developpement on vespolina which is in production now.

    Drupal 8, now uses some componenets of SF2, and in the future it will be developped entirely on the top of symfony. So you can start using Drupal 8 but it’s in developpement stage also.

    Using symfony2 will give you the possibility to use also ezPublish 5 and PHPBB4.

    As you can see, most of PHP CMS and business projects are moving to SF2. And the reason is very simple, SF2 has implemented the JSR Specifications but not in JAVA language, in PHP5.3

    I advice you to try it first for a small project first to learn the best practices implemented by sf2, specially the IoC (Inversion of Control) also called Dependency Injection.

  3. I have worked with symfony in several projects (one of them is a custom e-commerce site built from scratch), and I’m very happy with this framework.

    If you plan to use Magento as a backend and symfony for the frontend, I’d suggest you to use Drupal Commerce because Magento is a heavy piece of software. You can even forget about symfony and extend drupal to fulfill your needs.

    An alternative to Symfony could be Zend Framework

  4. ZenMagick is an on-going project that uses a lot of Symfony2 compoenents. It is currently at version 0.9.11. The homepage describes it as

    Originally based on Zen Cart, it has evolved into a flexible and robust system of its own, that allows you to get the shopping cart you want.

Leave a Reply

Your email address will not be published. Required fields are marked *