Book Image

Magento PHP Developer????s Guide, 2nd Edition

By : Allan MacGregor
Book Image

Magento PHP Developer????s Guide, 2nd Edition

By: Allan MacGregor

Overview of this book

Table of Contents (16 chapters)
Magento PHP Developer's Guide Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Zend Framework – the base of Magento


As you probably know, Magento is the most powerful e-commerce platform in the market. What you might not know about Magento is that it is also an object-oriented (OO) PHP framework developed on top of Zend Framework.

Note

Zend Framework 2 has been available since 2013, but Magento still relies on Zend Framework 1.11.

Here's how Zend's official site describes the framework:

"We designed Zend Framework with simplicity in mind. To provide a lightweight, loosely-coupled component library simplified to provide 4/5s of the functionality everyone needs and that lets you customize the other 20% to meet your specific business needs. By focusing on the most commonly needed functionality, we retain the simplified spirit of PHP programming, while dramatically lower the learning curve – and your training costs – so developers get up-to-speed quickly."

http://files.zend.com/help/Zend-Server-5/zend_framework.htm

What exactly is Zend Framework? Zend Framework is an OO framework developed on PHP that implements the Model-View-Controller (MVC) paradigm. When Varien (now Magento Inc.) started developing Magento, they decided to do it on top of Zend because of some components, some of which are as follows:

  • Zend_Cache

  • Zend_Acl

  • Zend_Locale

  • Zend_DB

  • Zend_Pdf

  • Zend_Currency

  • Zend_Date

  • Zend_Soap

  • Zend_Http

In total, Magento uses around 15 different Zend components. The Varien library extends several of the Zend components mentioned before directly. For example, Varien_Cache_Core extends from Zend_Cache_Core.

Using Zend Framework, Magento was built with the following principles in mind:

  • Maintainable: By using code pools to keep the core code separate from local customizations and third-party modules

  • Upgradable: Magento modularity allows extensions and third-party modules to be updated independently from the rest of the system

  • Flexible: Allows seamless customization and simplifies the development of new features

Although experience of using Zend Framework or even understanding it are not requirements to develop Magento, having at least some basic understanding of the Zend components, usage, and interaction can be invaluable information as we start digging deeper into the core of Magento.

You can learn more about Zend Framework at http://framework.zend.com/.