If you say e-commerce, you have to conclude it with Magento! That’s the reputation Magento has achieved in the present times. But the whole platform, though it is powerful, happens to be very complex too. Magento has been developed using the Object Oriented PHP framework using Zend Framework.
Introducing you to Zend framework, it is an open source framework that allows you to develop web applications and the associated services. If you want to know what Zend framework is or how it works, you need to study a bit of Object Oriented programming. For Magento, this framework modeled using the MVC structure.
The Zend framework was used in every bit of MVC programming for this platform. Why did Magento use Zend framework? Well, here are a few reasons for the same:
- Maintainability is a promise Zend framework offers when the core codes in the codepools are kept separate from local customized codes and the third party modules
- You can upgrade using the various extensions and modules offered along with this platform
- It is flexible as it offers a wide variety of customization and helps develop new features
You may not need an in depth knowledge of Zend framework when designing your Magento based website but, a little knowledge is always good especially when you want to break through the basics to create customized codes.
Moving on to understanding the codepools let’s see how Magento develops the various codepools.
The Codepools of Magento
The Magento folder structure or directory structure is very different from the normal directories or folders. It is divided into various trees and each tree has a function. Code is a separate folder in the Magento structure. This folder contains all the application related codes. For Magento this folder is divided into three code pools: Core, Community and Local.
Let’s try and understand each of the code pool and how codes in general work in Magento
The Core Code Pool
Let’s say this is the core file in Magento. Never ever make changes in this code pool! It has been developed by the core developers of Magento and comes with the licensed version. This is where all the code that makes Magento what it is. It is because of this code that you can use the various features of Magento that makes it flexible and powerful. If you make changes, you are bringing in changes to the core which can cause a major issue.
The Community Code Pool
If you belong to the Magento community than you would know that this is the community folder. An open source folder that allows you to make changes to the existing code! You can create extensions using this code pool. These extensions are available for free as well as with a price tag attached in the Magento store. This community code pool helps you hatch a code,an app or something to customize Magento platform and exercise its flexibility.
The Local Code Pool
Here you manipulate the logic to create a e-commerce website to match your requirements. You need to have a purpose to make these changes. The local code pool allows you to bring in change to your website without overriding the codes in the actual Magento platform. You can copy from other folders in the code pool and manipulate it. You can even change the codes for the custom extensions created using Magento specifically for your website.
Make sure you know the code pools where you need to change.