Magento 2 Glossary
Short definitions of the terms you meet in Magento 2 code and documentation.
This Magento 2 glossary defines the core concepts you meet in the code and documentation, such as dependency injection, plugins, observers, EAV, indexers and full page cache, in one or two sentences each. Every term links to the free Arabic lesson that explains it in depth, with code examples.
A
- ACL
Access Control List: Magento's admin permission system. Resources are defined in acl.xml, and each admin controller or web API route names the resource it requires.
Explained in the Arabic lesson: لوحة الأدمن و UI Components
B
- Block
A PHP class that prepares data for a template to display. Layout XML pairs each block with a template, which accesses it through the $block variable.
Explained in the Arabic lesson: الـ Frontend بالتفصيل
C
- Canonical Tag
A head tag that names the preferred URL for content reachable at several addresses. Magento 2 outputs it for products and categories once the setting is enabled in the admin.
Explained in the Arabic lesson: الـ SEO في Magento- Collection
A class that loads a set of records and lets you add filters, sorting and limits before the query runs. The query only executes when the data is actually needed (lazy loading).
Explained in the Arabic lesson: بناء Entity من الصفر- Cron
Magento 2's scheduler for recurring tasks such as indexer updates, emails and sitemap generation. Jobs are declared in crontab.xml and need a server cron entry that runs bin/magento cron:run.
Explained in the Arabic lesson: قاعدة البيانات والأداء
D
- Data Patch
A class that applies a one-time data change, such as adding an attribute or default records. Magento records applied patches in the patch_list table so they never run twice.
Explained in the Arabic lesson: قاعدة البيانات والأداء- Declarative Schema
Defining database tables in etc/db_schema.xml instead of install scripts. You describe the table structure you want, and setup:upgrade applies the difference.
Explained in the Arabic lesson: بناء Entity من الصفر- Dependency Injection
A design pattern in which a class receives the objects it depends on through its constructor instead of creating them. In Magento 2 the Object Manager supplies them based on di.xml configuration.
Explained in the Arabic lesson: أساسيات Magento بالتفصيل- Deploy Mode
The mode Magento runs in: default, developer or production. Production is the fastest and serves pre-generated static and compiled files; switch with bin/magento deploy:mode:set.
Explained in the Arabic lesson: الـ SEO في Magento- di.xml
A module's dependency injection configuration. It declares preferences, plugins, virtual types and constructor arguments, and lives in etc/ or an area folder such as etc/frontend/.
Explained in the Arabic lesson: أساسيات Magento بالتفصيل
E
- EAV
Entity-Attribute-Value: a storage model that keeps each attribute value in its own row instead of one column per attribute. Magento 2 uses it for products, categories and customers so attributes can be added without changing table structure.
Explained in the Arabic lesson: أساسيات Magento بالتفصيل
F
- Factory
An auto-generated class that creates new instances of a given type, such as ProductFactory::create(). Use it when you need a fresh object each time rather than the shared instance injected by default.
Explained in the Arabic lesson: أساسيات Magento بالتفصيل- Full Page Cache
A cache that stores whole rendered pages as HTML so repeat requests are served without Magento rebuilding them. Adobe recommends Varnish rather than the built-in cache in production.
Explained in the Arabic lesson: قاعدة البيانات والأداء
G
- GraphQL Resolver
A class implementing ResolverInterface that returns the data for a GraphQL field or query. It is bound in schema.graphqls with the @resolver directive.
Explained in the Arabic lesson: GraphQL كامل
I
- Indexer
A process that transforms scattered data such as prices, stock and EAV attributes into tables built for fast storefront reads. Indexers run in Update on Save or Update by Schedule mode.
Explained in the Arabic lesson: الـ Indexers
K
- Knockout.js
A JavaScript data-binding library that keeps the interface in sync with data. Magento 2 uses it in the checkout, the mini cart and UI components.
Explained in the Arabic lesson: الـ Checkout
L
- Layout Handle
An identifier that selects which layout files apply to a page; it matches the file name, such as catalog_product_view for product pages or default for every page.
Explained in the Arabic lesson: الـ Frontend بالتفصيل- Layout XML
XML files that define page structure: which blocks and containers appear, where, and in what order. Magento merges layout files from all modules and the active theme.
Explained in the Arabic lesson: الـ Frontend بالتفصيل
M
- Message Queue Framework
Magento's framework for sending messages from a publisher to a consumer that processes them in the background. It works with RabbitMQ (AMQP) or a MySQL-based adapter and is configured in XML files under etc/.
Explained in the Arabic lesson: RabbitMQ — موديول شغّال- Module
The basic unit of functionality in Magento 2: a directory of code, configuration and view files, registered by registration.php and declared in etc/module.xml, that can be enabled or disabled on its own.
Explained in the Arabic lesson: هيكل الـ Module- MSI
Multi-Source Inventory: Magento 2's inventory system for multiple stock sources such as warehouses and stores, which calculates salable quantity using stocks and reservations.
Explained in the Arabic lesson: التكامل مع POS- MView
Magento's materialized view mechanism: database triggers record changed rows in changelog tables so indexers in Update by Schedule mode process only those rows via cron.
Explained in the Arabic lesson: الـ Indexers
O
- Object Manager
The Magento 2 component that creates objects and injects their dependencies. Module code should not call it directly; request dependencies through the constructor instead.
Explained in the Arabic lesson: أساسيات Magento بالتفصيل- Observer
A class that runs when a specific event is dispatched, such as a product being saved or an order being placed. Observers are registered in events.xml against an event name, following a publish/subscribe pattern.
Explained in the Arabic lesson: أساسيات Magento بالتفصيل
P
- Plugin (Interceptor)
A class that changes the behaviour of a public method of another class without editing it, using before, after or around methods. Plugins are registered in di.xml, and several can apply to the same method.
Explained in the Arabic lesson: أساسيات Magento بالتفصيل- Preference
A di.xml setting that tells Magento to use a specific class in place of an interface or another class. It replaces the whole implementation, and if several modules declare one for the same type only one takes effect.
Explained in the Arabic lesson: مواضيع متقدّمة- Proxy
An auto-generated class that defers creating the real object until it is first used. It is configured in di.xml so an expensive dependency is only created when actually needed.
Explained in the Arabic lesson: أساسيات Magento بالتفصيل
Q
- Quote
Magento's working cart: it holds items, addresses, shipping and payment methods and totals during checkout, and is converted into an order when the customer places it.
Explained in the Arabic lesson: الـ Checkout
R
- Redis
An in-memory data store. Magento 2 can use it as the cache backend and for session storage, reducing load on the database and file system.
Explained in the Arabic lesson: Redis و RabbitMQ و Indexing- Repository
A class that provides save, load, delete and search operations for one entity type (save, getById, getList, delete), hiding the resource model and collection behind a stable interface.
Explained in the Arabic lesson: بناء Entity من الصفر- RequireJS
A JavaScript module loader that manages dependencies between scripts. Magento 2 configures it through requirejs-config.js and initialises modules from templates with x-magento-init or data-mage-init.
Explained in the Arabic lesson: الـ Frontend بالتفصيل
S
- Service Contract
A set of PHP interfaces (data interfaces plus repository or service interfaces) that define a module's public API. Other modules and the REST API depend on them instead of internal details.
Explained in the Arabic lesson: أساسيات Magento بالتفصيل- Static Content Deploy
The setup:static-content:deploy command, which publishes CSS, JavaScript, images and translation files to pub/static for each theme and locale. In production it must run after frontend changes.
Explained in the Arabic lesson: الـ Frontend بالتفصيل- Store View
The lowest level of the store hierarchy, usually one per language. It controls translations and store-view-scoped values such as product names and meta data.
Explained in the Arabic lesson: Website و Store و Store View
U
- UI Component
Interface components declared in XML and driven by JavaScript, such as admin grids, admin forms and checkout steps. They receive their data from a data provider.
Explained in the Arabic lesson: لوحة الأدمن و UI Components- URL Rewrite
A record in the url_rewrite table that maps a readable URL such as /iphone-15.html to an internal path, optionally as a 301 or 302 redirect. Created automatically for products and categories or manually in the admin.
Explained in the Arabic lesson: الـ SEO في Magento
V
- Varnish
An HTTP reverse proxy that serves cached pages before requests reach PHP. Magento can generate its VCL configuration, and Adobe recommends it for full page caching in production.
Explained in the Arabic lesson: الـ SEO في Magento
W
- webapi.xml
A file that maps a URL and HTTP method to a service contract method and names the required permission, letting Magento expose a REST endpoint without a controller.
Explained in the Arabic lesson: REST API كامل- Website
The top level of the store hierarchy below Global. It groups stores that share payment and shipping settings and can separate customer accounts and prices when configured to.
Explained in the Arabic lesson: Website و Store و Store View