Magento eCommerce And The Next Generation Of PHP

Post on 17-May-2015

5.149 views 1 download

Tags:

description

Magento eCommerce and the Next Generation of PHP Applications. Presentation from 09/17/08 ZendCon keynote session.

Transcript of Magento eCommerce And The Next Generation Of PHP

Copyright © 2008, Zend Technologies Inc.

Magento eCommerce and the Next Generation of PHP Applications

Apr 12, 2023 | 2 |

Wil SinclairManager, Advanced Technology Group at Zend

Who the hell I am. . .

Apr 12, 2023 | 3 |

. . .and what I think I’m doing.

The Next Generation of PHP Applications

Rapidly DevelopedEasily Maintained

High QualityExtensiblePerformant

ScalableFlexiblePowerful

Lucrative

Apr 12, 2023 | 4 |

A Brief History of PHP Applications

Apr 12, 2023 | 5 |

• 1 Developer

• A Few Users

• Procedural

• No Framework

• No Testing

• Motivations:

1. Sheer Thrill of PHP2. Solving the Developer's Immediate Problems

PHP Applications, The First Generation

Apr 12, 2023 | 6 |

The Anatomy of a 1st Gen PHP Application

Presentation

Application Control

Database Access

Business Logic

Presentation

Application Control

Business Logic

Presentation

index.php3

Apr 12, 2023 | 7 |

Your Personal Home Pages circa 1998

Examples

Apr 12, 2023 | 8 |

• A Few Developers

• A Bunch of Users

• Objects, but Object Oriented?

• Modular?

• Framework?

• User Tested

• Motivations:

• Sheer Thrill of PHP Development• Solving a Bunch of Users' Problems

PHP Applications, The Current Generation

Apr 12, 2023 | 9 |

The Anatomy of a 2nd Gen PHP Application

index.php3

index.php3

index.php3

index.php

Apr 12, 2023 | 10 |

The Anatomy of a 2nd Gen PHP Application

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3index.php3

index.php3

index.php3

index.php

Apr 12, 2023 | 11 |

The Anatomy of a 2nd Gen PHP Application

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3index.php3

index.php3

index.php3

index.php

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3index.php3

index.php3

index.php3

index.php

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3index.php3

index.php3

index.php3

index.php

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php

Apr 12, 2023 | 12 |

The Anatomy of a 2nd Gen PHP Application

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3 index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3

index.php3 index.php3

index.php3

index.php3

index.php3

Apr 12, 2023 | 13 |

Examples

Apr 12, 2023 | 14 |

• A Bunch of Developers

• A Bunch of Users

• PHP 5 and Fully Object-Oriented

• Modular

• Built on an MVC Framework

• Unit Tested

• Motivations:1. Sheer Thrill of PHP2. Solving the a Bunch of User’s Problems3. Money

The Next Generation

The Anatomy of a Next Gen PHP Application

Presentation

Database Access

Business Logic

Application Control

Something.phtml

Something.phtml

Something.phtml

Something.phtml

Something.phtml

Something.phtml

Something.phtml

Something.phtml

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Something.p

hp

Apr 12, 2023 | 16 |

Apr 12, 2023 | 17 |

Magento is going to win the open-source eCommerce war, hands down. I've never seen another platform so well architected and well designed as Magento.

- Jack Aboutboul, Red Hat

Magento eCommerce

Apr 12, 2023 | 18 |

• Localized in over 60 Languages

• More than 35,000 Community Members

• Over 450,000 Downloads

• Over 170 Magento Connect Extensions

• 10’s of Millions of Dollars in Transactions

• High-profile Customers such as Homedics, wander.ch, and poster.com, Fiesta Bowl

• Development Started May, 2007

• First Public Release August, 2007

• 1.0 Launch March 31, 2008

Magento eCommerce

Presenters

Apr 12, 2023 | 19 |

Roy RubinFounder and CEO of Varien

Yoav KutnerVP and CTO of Varien

Apr 12, 2023 | 20 |

Magento Background

•Next generation PHP application (features, user experience, etc.)

•Magento is a product of years of experience in the open source eCommerce market

Apr 12, 2023 | 21 |

Modularity and Flexibility

Modularity and flexibility are everything.

Apr 12, 2023 | 22 |

Magento Connect

Extension marketplace for commercial and open source extensions

•100,000+ Extension Downloads•170+ Extensions

Apr 12, 2023 | 23 |

Design Packages

Apr 12, 2023 | 24 |

Multi-Store Retailing

Multi-Store Retailing

Apr 12, 2023 | 25 |

Frontend Interface

Faceted Layered Navigation

Apr 12, 2023 | 26 |

iPhone Interface

Apr 12, 2023 | 27 |

Faceted Layered Navigation

Faceted Layered Navigation

Apr 12, 2023 | 28 |

Advanced Promotions and Merchandising Tool

Advanced Promotions and Merchandising Tool

Apr 12, 2023 | 29 |

Social Shopping

Rating and Reviews Product Tags RSS Feeds

Apr 12, 2023 | 30 |

Simple Product

Simple Product

Apr 12, 2023 | 31 |

Configurable Product

Configurable Product

Apr 12, 2023 | 32 |

Grouped Product

Grouped Product

Apr 12, 2023 | 33 |

Custom Options Product

Custom Options Product

Apr 12, 2023 | 34 |

Built to Order/Bundled Products

Built to Order/Bundled Products

Apr 12, 2023 | 35 |

Magento Feature List

A detailed list including tours and screencasts can be seen on MagentoCommerce.com

Apr 12, 2023 | 36 |

Magento Feature List

DEMO

Apr 12, 2023 | 37 |

January 2007

August 2007

March 2008

July 2008

Magento Development Time Frame

Begin by selecting the Zend Framework, and creating the core team.

Magento Beta released

Magento 1.0 released

Magento 1.1 released

Magento is a PHP5 Application

• OO support (Encapsulation, Interfaces, Static Methods etc…)

• PHP5 adoption?

Apr 12, 2023 | 38 |

The good old days Prior to Magento we were using an in-house developed frame-work (PHP4).

Problems:

• Specifying hiring criteria when it comes to developers.

• Long training process due to lack of documentation and training materials.

• Collaborating with other companies on big projects was a nightmare.

• Maintaining and Supporting our framework without a large community was hard both in allocating resources and without a large “collective wisdom” support

• Many different coding styles

Apr 12, 2023 | 39 |

Selecting the Zend Framework

So let’s select a framework:• Akelos

• Ash.MVC

• CakePHP

• Codelgniter

• DIY

• eZ Components

• Fusebox

• PHP on TRAX

• PHPDevShell

• PHPOpenbiz

• Prado

• Pronto

• QPHP

• Seagull

• Symfony

• ZOOP

Not an easy thing to do!!!

Apr 12, 2023 | 40 |

Selecting the Zend Framework

So why Zend Framework?

• Zend, as commercial company behind it.

• A clear roadmap and transparency.

• Widespread community support.

• A wealth of documentation and training.

• A use-at-will architecture

• Licensing (New BSD)

Apr 12, 2023 | 41 |

Selecting the Zend Framework

• Zend_Acl

• Zend_Cache

• Zend_Currency

• Zend_Date

• Zend_Db (Pdo_Mysql)

• Zend_Feed

• Zend_Http (Response model)

• Zend_Locale

• Zend_Log

Apr 12, 2023 | 42 |

Selecting the Zend Framework

Zend Framework Components used in Magento

•Zend_Mail

•Zend_Pdf

•Zend_Translate

•Zend_Validate

•Zend_Service

We plan to use in future versions of Magento

• Zend_Form

• Zend_Measure

• Zend_OpenId

• Zend_Search

• Zend_Gdata

• Zend_Captcha

• Zend_File

Apr 12, 2023 | 43 |

Selecting the Zend Framework

Apr 12, 2023 | 44 |

Magento Architecture - MVC

Controller View Model

Apr 12, 2023 | 45 |

Magento Design Terminology

Design PackageThemeLayoutTemplateSkinLocaleThemeTheme

Code Separation:

• Core

• Local

• Community

Apr 12, 2023 | 46 |

Upgrading Magento

• Magento Supports Cluster Environments

• Specify read/write connections per module

Apr 12, 2023 | 47 |

Cluster Organization

• Magento 1.1 introduces Core API

• Supports both SOAP and XML RPC protocols.

• Provides access to the Customer, Catalog and Order modules.

Apr 12, 2023 | 48 |

Magento Core API – Web Services