magento ecommerce and the next generation of php

48
Copyright © 2008, Zend Technologies Inc. Magento eCommerce and the Next Generation of PHP Applications

Upload: varien

Post on 17-May-2015

5.157 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Magento eCommerce And The Next Generation Of PHP

Copyright © 2008, Zend Technologies Inc.

Magento eCommerce and the Next Generation of PHP Applications

Page 2: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 2 |

Wil SinclairManager, Advanced Technology Group at Zend

Who the hell I am. . .

Page 3: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 3 |

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

The Next Generation of PHP Applications

Rapidly DevelopedEasily Maintained

High QualityExtensiblePerformant

ScalableFlexiblePowerful

Lucrative

Page 4: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 4 |

A Brief History of PHP Applications

Page 5: Magento eCommerce And The Next Generation Of PHP

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

Page 6: Magento eCommerce And The Next Generation Of PHP

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

Page 7: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 7 |

Your Personal Home Pages circa 1998

Examples

Page 8: Magento eCommerce And The Next Generation Of PHP

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

Page 9: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 9 |

The Anatomy of a 2nd Gen PHP Application

index.php3

index.php3

index.php3

index.php

Page 10: Magento eCommerce And The Next Generation Of 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

Page 11: Magento eCommerce And The Next Generation Of 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

Page 12: Magento eCommerce And The Next Generation Of 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

Page 13: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 13 |

Examples

Page 14: Magento eCommerce And The Next Generation Of PHP

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

Page 15: Magento eCommerce And The Next Generation Of PHP

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

Page 16: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 16 |

Page 17: Magento eCommerce And The Next Generation Of PHP

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

Page 18: Magento eCommerce And The Next Generation Of PHP

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

Page 19: Magento eCommerce And The Next Generation Of PHP

Presenters

Apr 12, 2023 | 19 |

Roy RubinFounder and CEO of Varien

Yoav KutnerVP and CTO of Varien

Page 20: Magento eCommerce And The Next Generation Of PHP

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

Page 21: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 21 |

Modularity and Flexibility

Modularity and flexibility are everything.

Page 22: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 22 |

Magento Connect

Extension marketplace for commercial and open source extensions

•100,000+ Extension Downloads•170+ Extensions

Page 23: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 23 |

Design Packages

Page 24: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 24 |

Multi-Store Retailing

Multi-Store Retailing

Page 25: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 25 |

Frontend Interface

Faceted Layered Navigation

Page 26: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 26 |

iPhone Interface

Page 27: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 27 |

Faceted Layered Navigation

Faceted Layered Navigation

Page 28: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 28 |

Advanced Promotions and Merchandising Tool

Advanced Promotions and Merchandising Tool

Page 29: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 29 |

Social Shopping

Rating and Reviews Product Tags RSS Feeds

Page 30: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 30 |

Simple Product

Simple Product

Page 31: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 31 |

Configurable Product

Configurable Product

Page 32: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 32 |

Grouped Product

Grouped Product

Page 33: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 33 |

Custom Options Product

Custom Options Product

Page 34: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 34 |

Built to Order/Bundled Products

Built to Order/Bundled Products

Page 35: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 35 |

Magento Feature List

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

Page 36: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 36 |

Magento Feature List

DEMO

Page 37: Magento eCommerce And The Next Generation Of PHP

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

Page 38: Magento eCommerce And The Next Generation Of PHP

Magento is a PHP5 Application

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

• PHP5 adoption?

Apr 12, 2023 | 38 |

Page 39: Magento eCommerce And The Next Generation Of PHP

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

Page 40: Magento eCommerce And The Next Generation Of PHP

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

Page 41: Magento eCommerce And The Next Generation Of PHP

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

Page 42: Magento eCommerce And The Next Generation Of PHP

• 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

Page 43: Magento eCommerce And The Next Generation Of PHP

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

Page 44: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 44 |

Magento Architecture - MVC

Controller View Model

Page 45: Magento eCommerce And The Next Generation Of PHP

Apr 12, 2023 | 45 |

Magento Design Terminology

Design PackageThemeLayoutTemplateSkinLocaleThemeTheme

Page 46: Magento eCommerce And The Next Generation Of PHP

Code Separation:

• Core

• Local

• Community

Apr 12, 2023 | 46 |

Upgrading Magento

Page 47: Magento eCommerce And The Next Generation Of PHP

• Magento Supports Cluster Environments

• Specify read/write connections per module

Apr 12, 2023 | 47 |

Cluster Organization

Page 48: Magento eCommerce And The Next Generation Of PHP

• 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