SlideShare a Scribd company logo
ZendCon 2009 Nov 4, 2009   |     | Magento – a Zend Framework application By Dmitriy Soroka System Architect at Varien
Magento Nov 4, 2009   |     |
Magento today 1,000,000+ downloads  ~70 core modules in Community Edition  and  ~20 in Enterprise Edition Magento Core Team Magento community Magento connect Nov 4, 2009   |     |
Magento under the hood PHP 5 OOP (MVC) Zend Framework Modular Architecture  Nov 4, 2009   |     |
Nov 4, 2009   |     | Select Magento Platform Frameworks CMS/CMF Systems E-Commerce Zend Framework CakePHP CodeIgniter Symfony etc. Joomla Drupal EZ Publisher Mambo etc. osCommerce VirtueMart Zen-Cart xCart etc.
MVC architecture Good documentation Robust functionality Comunity Zend - the PHP company Fast  growth PHP applications standard  ZF based application provides clear understanding for PHP developers Clear development process and ability to contribute custom components Nov 4, 2009   |     | Going with the Zend Framework
Application Level Components Zend_Controller, Zend_View, Zend_Layout, Zend_Form etc. Localization/Internationalization Level Components Zend_Locale, Zend_Date, Zend_Currency, Zend_ Measure, Zend_Translate Data Level Components Zend_Db, Zend_Dom, Zend_Feed, Zend_Search etc. Services Zend_Gdata, Zend_Services, Zend_Soap etc. Nov 4, 2009   |     | Zend Framework Functionality
Zend_Controller Zend_View Zend_Config Zend_Application  (since 1.8.0!) Nov 4, 2009   |     | ZF components currently not used in Magento
Support multiple module routing Internal URL rewrite logic http://domain.com/product.html  => catalog/product/view/id/1   Additional entry points  Magento events Nov 4, 2009   |     | Magento Controller
Nov 4, 2009   |     | View level: Page Layout
Nov 4, 2009   |     | View level: Blocks page structure
Nov 4, 2009   |     | View level: Multiple themes support
About 15 ZF components are currently used We plan to use ~10 more components Goal – to use as many native ZF components as possible Nov 4, 2009   |     | ZF components used in Magento
Nov 4, 2009   |     | Zend_Acl
Files APC (shared memory) Memcached eAccelerator Xcache ZendPlatform ZendServer Nov 4, 2009   |     | Zend_Cache: backend models
Nov 4, 2009   |     | Zend_Cache: single server installation
Nov 4, 2009   |     | Zend_Cache: multiple frontends
Zend_Db_Adapter Allows for integrating with different DB storage Simplifies data managing operations Zend_Db_Select Nov 4, 2009   |     | Zend_Db
Nov 4, 2009   |     | Zend_Locale, Zend_Date, Zend_Currency
Nov 4, 2009   |     | Multiple locales support
Zend_Pdf Zend_Feed Zend_Mail Zend_Validate Zend_Filter Nov 4, 2009   |     | Other ZF components in Magento
Nov 4, 2009   |     | Coming Soon Zend_Application Zend_Crypt Zend_Form Zend_Layout Zend_Measure Zend_Navigation Zend_Paginator Zend_Tag …
Nov 4, 2009   |     | Zend_Form Customer attributes as form fields  Form validation and filtering is easy Integration with display logic
Nov 4, 2009   |     | ZF application and Magento Application ZF Application Magento Application application/         configs/         controllers/         layouts/         models/         modules/         services/         views/         Bootstrap.php data/         locales/         uploads/ library/ public/         css/         images/         js/         .htaccess         index.php scripts/         jobs/         build/ temp/ tests/ app/ code/ community/ core/ Mage/ .. modules local/ design/ adminhtml/ frontend/ install/ etc/ locale/ js/ lib/ Varien/ Zend/ media/ skin/ adminhtml/ frontend/ install/ var /
Nov 4, 2009   |     | ZF Module and Magento module structure ZF Module Magento Module <modulename>     configs/     controllers/     forms/     layouts/         filters/         helpers/         scripts/     models/     services/     views/         filters/         helpers/         scripts/     Bootstrap.php <modulename> Block/ controllers/ etc/ Helper/ Model/ Sql/
Nov 4, 2009   |     | Module Dependency
Dependency is specified in module declaration (app/etc/modules/*.xml)  Dependency determines the order in which the database is built/updated Example:   <config>     <modules>         <Mage_Bundle>             <active>true</active>             <codePool>core</codePool>             <depends>                 <Mage_Catalog />             </depends>         </Mage_Bundle>     </modules> </config>   Nov 4, 2009   |     | Module Dependency
Nov 4, 2009   |     | Module Installation and Upgrade
Code Pools /app/code/ core/ community/ local/ Configuration models, blocks, helpers     Nov 4, 2009   |     | Overwriting Magento
Class overwriting (Model Example) Create new module  (Ex: local/MyProject/MyModule) Create class for your model customization  (Ex: MyProject_MyModule_Model_Customer extends Mage_Customer_Model_Customer) Add overwriting instructions to config.xml  <config>             <global>                 <models>                     <customer>                          <rewrite>                             <customer>MyProject_MyModule_Model_Customer</customer>                         </rewrite> Overwrite needed methods in your class Now  Mage::getModel('customer/customer')    => new MyProject_MyModule_Model_Customer  Nov 4, 2009   |     | Overwriting Core Model
Nov 4, 2009   |     | http://www.magentocommerce.com   [email_address]

More Related Content

PPTX
Application Diagnosis with Zend Server Tracing
PPT
Zend - Installation And Sample Project Creation
PPTX
Zend framework
PPT
How do speed up web pages? CSS & HTML Tricks
PPT
Zend Framework 1.8 Features Webinar
PPTX
Django app deployment in Azure By Saurabh Agarwal
PDF
深入淺出 MVC
ODP
Django for Beginners
Application Diagnosis with Zend Server Tracing
Zend - Installation And Sample Project Creation
Zend framework
How do speed up web pages? CSS & HTML Tricks
Zend Framework 1.8 Features Webinar
Django app deployment in Azure By Saurabh Agarwal
深入淺出 MVC
Django for Beginners

What's hot (20)

PPTX
ODP
KEY
LvivPy - Flask in details
PDF
Scalable web application architecture
PDF
Python Flask Tutorial For Beginners | Flask Web Development Tutorial | Python...
PPTX
Jasmine with JS-Test-Driver
PDF
Build website in_django
PPTX
Django Architecture Introduction
PPT
Django, What is it, Why is it cool?
PDF
Don't worry be API with Slim framework and Joomla
PPTX
REST API for your WP7 App
PDF
Ride on the Fast Track of Web with Ruby on Rails- Part 2
PDF
Writing Software not Code with Cucumber
PDF
Kicking off with Zend Expressive and Doctrine ORM (PHPNW2016)
PDF
Introduction to django
PDF
Extending the WordPress REST API - Josh Pollock
PDF
Quick flask an intro to flask
PDF
Automated Testing with Ruby
PDF
Django Framework and Application Structure
PPTX
The Django Web Application Framework 2
LvivPy - Flask in details
Scalable web application architecture
Python Flask Tutorial For Beginners | Flask Web Development Tutorial | Python...
Jasmine with JS-Test-Driver
Build website in_django
Django Architecture Introduction
Django, What is it, Why is it cool?
Don't worry be API with Slim framework and Joomla
REST API for your WP7 App
Ride on the Fast Track of Web with Ruby on Rails- Part 2
Writing Software not Code with Cucumber
Kicking off with Zend Expressive and Doctrine ORM (PHPNW2016)
Introduction to django
Extending the WordPress REST API - Josh Pollock
Quick flask an intro to flask
Automated Testing with Ruby
Django Framework and Application Structure
The Django Web Application Framework 2
Ad

Viewers also liked (20)

DOC
NV ASTRID boekte 60 miljoen euro verlies in 2015
PDF
MySQL Manchester TT - Replication Features
PDF
Oracle Compute Cloud Service介绍
PDF
A Storage Story #ChefConf2013
KEY
Framework Shootout
PDF
Oracle Compute Cloud Service快速实践
PDF
Why MySQL High Availability Matters
PDF
Solving the C20K problem: Raising the bar in PHP Performance and Scalability
PDF
MySQL Manchester TT - 5.7 Whats new
PDF
Oracle cloud 使用云市场快速搭建小型电商网站
PPTX
MySQL Optimizer Overview
PPT
PHP on Windows - What's New
PDF
Zend Core on IBM i - Security Considerations
PPTX
PHP on IBM i Tutorial
PDF
Tiery Eyed
PDF
Script it
PPTX
PHP and Platform Independance in the Cloud
KEY
Zend_Tool: Practical use and Extending
PPT
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
PDF
MySQL in your laptop
NV ASTRID boekte 60 miljoen euro verlies in 2015
MySQL Manchester TT - Replication Features
Oracle Compute Cloud Service介绍
A Storage Story #ChefConf2013
Framework Shootout
Oracle Compute Cloud Service快速实践
Why MySQL High Availability Matters
Solving the C20K problem: Raising the bar in PHP Performance and Scalability
MySQL Manchester TT - 5.7 Whats new
Oracle cloud 使用云市场快速搭建小型电商网站
MySQL Optimizer Overview
PHP on Windows - What's New
Zend Core on IBM i - Security Considerations
PHP on IBM i Tutorial
Tiery Eyed
Script it
PHP and Platform Independance in the Cloud
Zend_Tool: Practical use and Extending
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL in your laptop
Ad

Similar to Magento - a Zend Framework Application (20)

PPT
Magento eCommerce And The Next Generation Of PHP
PPT
Ria Development With Flex And PHP
PDF
Building Web Applications with Zend Framework
PDF
Yoav Kutner Dutchento
PPT
Edp bootstrapping a-software_company
PPT
PDF
Optimizing Magento Performance with Zend Server
PPT
San Francisco PHP Meetup Presentation on Zend Framework
PPTX
Zend Framework
PDF
Foundations of Zend Framework
PPTX
php[world] Magento101
PPT
ODP
IBM Domino 9.0 Social Edition OpenSocial Component Deployment
PPT
Microsoft TechDays 2011 - PHP on Windows
PDF
DPC2007 Zend Framework (Gaylord Aulke)
 
ODP
Application development using Zend Framework
PDF
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
PPTX
Meet Magento Spain 2019 - Our Experience with Magento Cloud
PPT
Demo
PPT
Zend Amf And Flex
Magento eCommerce And The Next Generation Of PHP
Ria Development With Flex And PHP
Building Web Applications with Zend Framework
Yoav Kutner Dutchento
Edp bootstrapping a-software_company
Optimizing Magento Performance with Zend Server
San Francisco PHP Meetup Presentation on Zend Framework
Zend Framework
Foundations of Zend Framework
php[world] Magento101
IBM Domino 9.0 Social Edition OpenSocial Component Deployment
Microsoft TechDays 2011 - PHP on Windows
DPC2007 Zend Framework (Gaylord Aulke)
 
Application development using Zend Framework
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Demo
Zend Amf And Flex

More from ZendCon (20)

PPT
I18n with PHP 5.3
PDF
Cloud Computing: The Hard Problems Never Go Away
PPT
Planning for Synchronization with Browser-Local Databases
PDF
Enterprise-Class PHP Security
PDF
PHP and IBM i - Database Alternatives
PDF
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
PDF
Joe Staner Zend Con 2008
PDF
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
PDF
DB2 Storage Engine for MySQL and Open Source Applications Session
PDF
Digital Identity
PDF
Modernizing i5 Applications
PDF
Lesser Known Security Problems in PHP Applications
PDF
Architecting for PHP5 - Why "Runs on PHP5" is not "Written for PHP5"
PDF
SQL Query Tuning: The Legend of Drunken Query Master
PDF
ZendCon 2008 Closing Keynote
PDF
Top Zend Studio Secrets
PDF
VIM for (PHP) Programmers
PDF
Test Driven Development
PDF
Rickroll To Go With PHP, WURFL, and Other Open Source Tools
PDF
PECL Picks - Extensions to make your life better
I18n with PHP 5.3
Cloud Computing: The Hard Problems Never Go Away
Planning for Synchronization with Browser-Local Databases
Enterprise-Class PHP Security
PHP and IBM i - Database Alternatives
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
Joe Staner Zend Con 2008
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
DB2 Storage Engine for MySQL and Open Source Applications Session
Digital Identity
Modernizing i5 Applications
Lesser Known Security Problems in PHP Applications
Architecting for PHP5 - Why "Runs on PHP5" is not "Written for PHP5"
SQL Query Tuning: The Legend of Drunken Query Master
ZendCon 2008 Closing Keynote
Top Zend Studio Secrets
VIM for (PHP) Programmers
Test Driven Development
Rickroll To Go With PHP, WURFL, and Other Open Source Tools
PECL Picks - Extensions to make your life better

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Machine learning based COVID-19 study performance prediction
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Big Data Technologies - Introduction.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation_ Review paper, used for researhc scholars
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
Teaching material agriculture food technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
sap open course for s4hana steps from ECC to s4
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation theory and applications.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Machine learning based COVID-19 study performance prediction
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Weekly Chronicles - August'25 Week I
Big Data Technologies - Introduction.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Electronic commerce courselecture one. Pdf
Programs and apps: productivity, graphics, security and other tools
MYSQL Presentation for SQL database connectivity
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation_ Review paper, used for researhc scholars
The AUB Centre for AI in Media Proposal.docx
Empathic Computing: Creating Shared Understanding
Spectral efficient network and resource selection model in 5G networks
Teaching material agriculture food technology

Magento - a Zend Framework Application

  • 1. ZendCon 2009 Nov 4, 2009 | | Magento – a Zend Framework application By Dmitriy Soroka System Architect at Varien
  • 2. Magento Nov 4, 2009 | |
  • 3. Magento today 1,000,000+ downloads ~70 core modules in Community Edition and ~20 in Enterprise Edition Magento Core Team Magento community Magento connect Nov 4, 2009 | |
  • 4. Magento under the hood PHP 5 OOP (MVC) Zend Framework Modular Architecture Nov 4, 2009 | |
  • 5. Nov 4, 2009 | | Select Magento Platform Frameworks CMS/CMF Systems E-Commerce Zend Framework CakePHP CodeIgniter Symfony etc. Joomla Drupal EZ Publisher Mambo etc. osCommerce VirtueMart Zen-Cart xCart etc.
  • 6. MVC architecture Good documentation Robust functionality Comunity Zend - the PHP company Fast growth PHP applications standard ZF based application provides clear understanding for PHP developers Clear development process and ability to contribute custom components Nov 4, 2009 | | Going with the Zend Framework
  • 7. Application Level Components Zend_Controller, Zend_View, Zend_Layout, Zend_Form etc. Localization/Internationalization Level Components Zend_Locale, Zend_Date, Zend_Currency, Zend_ Measure, Zend_Translate Data Level Components Zend_Db, Zend_Dom, Zend_Feed, Zend_Search etc. Services Zend_Gdata, Zend_Services, Zend_Soap etc. Nov 4, 2009 | | Zend Framework Functionality
  • 8. Zend_Controller Zend_View Zend_Config Zend_Application (since 1.8.0!) Nov 4, 2009 | | ZF components currently not used in Magento
  • 9. Support multiple module routing Internal URL rewrite logic http://domain.com/product.html => catalog/product/view/id/1 Additional entry points Magento events Nov 4, 2009 | | Magento Controller
  • 10. Nov 4, 2009 | | View level: Page Layout
  • 11. Nov 4, 2009 | | View level: Blocks page structure
  • 12. Nov 4, 2009 | | View level: Multiple themes support
  • 13. About 15 ZF components are currently used We plan to use ~10 more components Goal – to use as many native ZF components as possible Nov 4, 2009 | | ZF components used in Magento
  • 14. Nov 4, 2009 | | Zend_Acl
  • 15. Files APC (shared memory) Memcached eAccelerator Xcache ZendPlatform ZendServer Nov 4, 2009 | | Zend_Cache: backend models
  • 16. Nov 4, 2009 | | Zend_Cache: single server installation
  • 17. Nov 4, 2009 | | Zend_Cache: multiple frontends
  • 18. Zend_Db_Adapter Allows for integrating with different DB storage Simplifies data managing operations Zend_Db_Select Nov 4, 2009 | | Zend_Db
  • 19. Nov 4, 2009 | | Zend_Locale, Zend_Date, Zend_Currency
  • 20. Nov 4, 2009 | | Multiple locales support
  • 21. Zend_Pdf Zend_Feed Zend_Mail Zend_Validate Zend_Filter Nov 4, 2009 | | Other ZF components in Magento
  • 22. Nov 4, 2009 | | Coming Soon Zend_Application Zend_Crypt Zend_Form Zend_Layout Zend_Measure Zend_Navigation Zend_Paginator Zend_Tag …
  • 23. Nov 4, 2009 | | Zend_Form Customer attributes as form fields Form validation and filtering is easy Integration with display logic
  • 24. Nov 4, 2009 | | ZF application and Magento Application ZF Application Magento Application application/         configs/         controllers/         layouts/         models/         modules/         services/         views/         Bootstrap.php data/         locales/         uploads/ library/ public/         css/         images/         js/         .htaccess         index.php scripts/         jobs/         build/ temp/ tests/ app/ code/ community/ core/ Mage/ .. modules local/ design/ adminhtml/ frontend/ install/ etc/ locale/ js/ lib/ Varien/ Zend/ media/ skin/ adminhtml/ frontend/ install/ var /
  • 25. Nov 4, 2009 | | ZF Module and Magento module structure ZF Module Magento Module <modulename>     configs/     controllers/     forms/     layouts/         filters/         helpers/         scripts/     models/     services/     views/         filters/         helpers/         scripts/     Bootstrap.php <modulename> Block/ controllers/ etc/ Helper/ Model/ Sql/
  • 26. Nov 4, 2009 | | Module Dependency
  • 27. Dependency is specified in module declaration (app/etc/modules/*.xml) Dependency determines the order in which the database is built/updated Example: <config>     <modules>         <Mage_Bundle>             <active>true</active>             <codePool>core</codePool>             <depends>                 <Mage_Catalog />             </depends>         </Mage_Bundle>     </modules> </config> Nov 4, 2009 | | Module Dependency
  • 28. Nov 4, 2009 | | Module Installation and Upgrade
  • 29. Code Pools /app/code/ core/ community/ local/ Configuration models, blocks, helpers Nov 4, 2009 | | Overwriting Magento
  • 30. Class overwriting (Model Example) Create new module (Ex: local/MyProject/MyModule) Create class for your model customization (Ex: MyProject_MyModule_Model_Customer extends Mage_Customer_Model_Customer) Add overwriting instructions to config.xml <config>             <global>                 <models>                     <customer>                          <rewrite>                             <customer>MyProject_MyModule_Model_Customer</customer>                         </rewrite> Overwrite needed methods in your class Now Mage::getModel('customer/customer')   => new MyProject_MyModule_Model_Customer Nov 4, 2009 | | Overwriting Core Model
  • 31. Nov 4, 2009 | | http://www.magentocommerce.com [email_address]