Magento is written using the php library of Zend and uses MVC, i.e. here there are models, a controller, views.
All the code lies in the folder /app/code
Templates in the folder /design
The /app/code folder has three more folders:
- community - code developed by the Magento community
- core - Magento Developer Code
- local - code of other developers
Configuration files are saved as a xml document.
The basic configuration files are located in the app/etc.
app/etc/config.xml - module configuration file and everything that concerns their work.
app/etc/local.xml - system configuration. Includes data to connect to the database. This file is located in .gitignore and it is very convenient to use different settings on the server and on the local machine.
app/etc/modules - module configurations are stored here. Basically, these files make themselves felt Magento. In the minimal version, the activity of the module is indicated, the location in the folders (community, core, local, see the description above), dependencies on other modules and other information.
Each module has its own configuration files, at least - My/NewPlugin/etc/config.xml
When running, Magento reads its main configuration file, and then, reads configuration fileof modules and glues them into one big config.
More details about the structure of templates will be a separate article.