Recent Articles

Recent Comments

Resources

E-Commerce Frameworks?

July 28, 2007

Lately I have been thinking about why there are so many frameworks, yet if you are looking for anything do deal with e-commerce you are almost shit out of luck. Sure it is easy to interface with the API’s of payment gateways and couriers APIs. However, what I have seen is lacking is a uniform API under any of the frameworks I have looked at that address this fundamental and needed area.

In the past I had actually worked a bit on starting to create a payment and courier interface for a project I was working on utilizing the Zend Framework. However, due to deadlines I never had the time to fully complete nor create it to the specification I would have desired.

So here is my question, besides the really shitty shopping cart objects out there is there any true components for a framework that utilizes this functionality? I say shitty shopping cart objects because just about every single open source PHP shopping cart has some of the worst design aspects I have ever seen. Many times ending up in procedural code with limited objects that essentially just wrap existing functions into an object. You don’t see the standard object oriented design patterns being utilized. For instance a good payment gateway object design would utilize a factory pattern and a base abstract object that defines the functionality to be implemented and take the default behavior. The same goes with couriers.

Anyhow that is just my rant for the day. I hope to attempt to blog some more, however, with moving and being extremely busy on a work project I have not had time but to simply read what is going on in the PHP development atmosphere.

10 Comments »

  1. http://magentocommerce.com

    While it’s not actually complete yet (Beta 1 is due out in early August), this framework will be built on PHP 5 and use make use of its OOP capabilities to deliver a feature set that blows all existing PHP-based e-commerce products out of the water.

    Comment by Matthew Turland — July 28, 2007 @ 9:28 am

  2. Matthew,

    Magento is not a framework, magento is an e-commerce platform. There is a massive difference. While it may make use of PHP 5 OOP capabilities these capabilities can still be mimicked in PHP 4. I am talking about code architecture, a set of classes that deliver the functionality but yet have no front or back end.

    The point here is this, there is not a set of libraries (aka classes) that provide a simple interface into handling merchants or couriers. They are simply an integrated set of architecture to support a specific program and when taken out of the program do not work.

    The one and only item that had started to attempt to handle this was the PEAR Payment_Process. So while you say framework, framework is completely the wrong word you are using here. Just because something utilizes object capabilities it does NOT make it a framework. What you have right is that it IS a “e-commerce product”.

    While I am excited to see the code driving this shopping cart, I at the same time am hesitant of how the architecture might be created for the code that is not a part of the Zend Framework. So far from what I have seen and heard there is only discussion of features and no core architecture which means of little or no value. Saying PHP 5 OOP means nothing if the object oriented principles and design is not implemented correctly.

    Comment by Mike Willbanks — July 28, 2007 @ 12:37 pm

  3. The answer is easy: technical framework are ok. Business framework need support in big companies (think SAP, Microsoft, etc.). And little company will never buy any framework but directly a working solution….

    Comment by idont — July 28, 2007 @ 7:10 pm

  4. I agree with everything you said Mike and it sparked some ideas in my head about how a framework like that would be written. I’m the lead over at the PRADO community project I wrote my ideas down in a forum post to see if it’s something the PCP would think about taking on. check it out http://www.pradosoft.com/forum/index.php/topic,8215.0.html

    I would really like to see what features you would like to see in much a framework.

    Comment by Sam "DaMule" Hennessy — July 29, 2007 @ 2:28 am

  5. Mike Willbanks’ Blog: E-Commerce Frameworks?…

    Trackback by PHPDeveloper.org — July 30, 2007 @ 1:34 pm

  6. [...] frameworks seem to be popping out of the woodwork, Mike Willbanks has noticed something lacking - a good e-commerce framework that helps the developer do simple things like work with shopping [...]

    Pingback by developercast.com » Mike Willbanks’ Blog: E-Commerce Frameworks? — July 30, 2007 @ 2:55 pm

  7. What a pity. Prado framework is not a PHP-style one like SolarPHP, CakePHP, Zend Framework, Symfony. I expect a true PHP eCommerce framework instead of C#, Delphi or Java one

    Comment by pcdinh — July 31, 2007 @ 8:19 am

  8. Hi,

    This is really an eye-opener. I would have thought there was a fully functioning, well written, nicely documented framework for doing this.

    Personally, I have thought about writing an open-source framework for something like this, but have stopped short of doing it because I thought that something would already exist, and I don’t want to re-invent the wheel.

    Since it doesn’t exist there is no excuse for me not to do it. So … I think I will.

    I’ll put it on my website (which doesn’t exist, but I’ll make it exist soon enough).

    Steve

    Comment by Stevan Goode — July 31, 2007 @ 12:55 pm

  9. Hi

    I’ve started work on this, and version 0.1 is up there for people to take a look at.

    It’s untested, incomplete and missing some of the core functionality that is wanted (such as a checkout system), but I thought I’d put it out there to see what kind of reaction I get to it.

    Go take a look …. please? (http://www.stevangoode.com/forums/)

    Steve

    Comment by Stevan Goode — August 2, 2007 @ 11:56 am

  10. Check out digiShop from Sumeffect. While it’s not open source, it’s hands down the best PHP cart from a code standpoint. It’s uses OOP (php4), but a done patterns and such that make the code easy to understand and extend.

    Comment by Bill Smith — August 3, 2007 @ 8:52 am

RSS feed for comments on this post. TrackBack URI

Leave a comment