Upload
varien
View
5.149
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Magento eCommerce and the Next Generation of PHP Applications. Presentation from 09/17/08 ZendCon keynote session.
Citation preview
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