Adobe Commerce Developer Professional study materials
Adobe Commerce Developer Professional study resources

Adobe Commerce Developer Professional key terms

Adobe Commerce Developer Professional · Get comfortable with the vocabulary.

Magento Root Directory

The top-level folder of an Adobe Commerce installation that contains app, bin, lib, pub, and vendor directories. All paths in configuration and code are resolved relative to this location.

Related: app/etc/env.php, Composer Installation
app/etc/env.php

A PHP configuration file holding deployment-specific settings such as database credentials, cache backends, and encryption keys. It is generated at install time and is not committed to version control.

Related: app/etc/config.php, Magento Root Directory
app/etc/config.php

A PHP file listing installed modules, their enabled or disabled state, and the active theme. It is generated by setup commands and is typically committed to version control.

Related: app/etc/env.php, Module Registration
Module Registration

The process of declaring a module by placing a registration.php file in its folder and a module.xml file under etc. Registration makes the module discoverable; enabling it happens separately via setup commands.

Related: app/etc/config.php, module.xml, Dependency Injection
module.xml

A configuration file inside a module's etc folder that declares the module's name, version, and dependencies on other modules. Dependency order controls load and setup sequence.

Related: Module Registration, Dependency Injection
Dependency Injection

A design pattern where an object receives its collaborators from an external configurator rather than creating them itself. Adobe Commerce builds these objects from XML configuration and caches the resulting factories.

Related: di.xml, Object Manager, Preference
di.xml

XML files that configure the object manager: constructor argument values, shared versus new instances, virtual types, and preferences. They can be defined globally per area or per module.

Related: Dependency Injection, Virtual Type, Preference
Object Manager

The framework service that instantiates classes, resolves their constructor dependencies, and applies di.xml configuration. Direct use in business code is discouraged in favor of injected dependencies.

Related: Dependency Injection, di.xml
Preference

A di.xml declaration that substitutes one class for another when a given type is requested. It is the standard mechanism for replacing a core implementation with a custom one.

Related: di.xml, Virtual Type
Virtual Type

A di.xml construct that defines a named variation of an existing class with different constructor arguments, without creating a new PHP class. Useful for sharing a class with multiple configurations.

Related: di.xml, Preference
Area

A logical context such as frontend, adminhtml, webapi, or crontab that determines which configuration files and di.xml instructions load. Areas keep behavior scoped to the request type being handled.

Related: di.xml, Layout XML
Plugin (Interceptor)

A class that wraps a public method of another class to run code before, after, or around it, configured in di.xml. Plugins modify behavior without editing the original class.

Related: Preference, Dependency Injection
Interceptor Chain

The ordered sequence of plugins applied to a single method. Sort order values determine execution sequence, and around plugins can stop the chain by not calling the proceed callback.

Related: Plugin (Interceptor)
Observer

A class that reacts to a dispatched event, declared in events.xml for a given area. Observers run after the event fires and are suited to side effects rather than altering return values.

Related: events.xml, Plugin (Interceptor)
events.xml

Configuration file that maps event names to observer classes, scoped by area. It is the declaration point for event-driven customizations.

Related: Observer
Setup Patch (Data Patch)

A versioned PHP class implementing DataPatchInterface that modifies data or schema once and is recorded in the patch registry. Patches replace older install and upgrade script conventions.

Related: Declarative Schema, schema.xml
Declarative Schema

A db_schema.xml-based approach where developers declare the desired final database structure and Adobe Commerce generates the diff. It replaces imperative install and upgrade schema scripts.

Related: schema.xml, Setup Patch (Data Patch)
schema.xml

The declarative schema file in a module's etc/db_schema.xml that defines tables, columns, indexes, and foreign keys. Running setup upgrade compares it against the live database.

Related: Declarative Schema, Setup Patch (Data Patch)
EAV (Entity-Attribute-Value)

A data model storing attributes as rows rather than columns, letting entities such as products have varying attribute sets. Values are split across backend tables by attribute data type.

Related: Attribute Set, Backend Model, Flat Table
Attribute Set

A named grouping of EAV attributes assigned to entities like products. The set determines which attributes an entity has and which edit fields appear in admin forms.

Related: EAV (Entity-Attribute-Value), Attribute Code
Attribute Code

The unique machine-readable identifier for an EAV attribute, used in code, queries, and import files. It is distinct from the human-readable frontend label.

Related: Attribute Set, Backend Model
Backend Model

A class referenced by an EAV attribute that handles loading and saving its value, and often validation. Different backend models are used for varchar, int, decimal, datetime, and text attributes.

Related: EAV (Entity-Attribute-Value), Source Model
Source Model

A class supplying the allowed options for an EAV attribute, such as a dropdown's choices. It returns a value-label array consumed by admin forms and filters.

Related: Backend Model, Attribute Set
Flat Table

An optional denormalized table where product or category data is copied into columns for faster reads. It must be reindexed when source data changes.

Related: Indexer, EAV (Entity-Attribute-Value)
Indexer

A process that precomputes derived data such as prices, search data, or flat tables into storage tables. Indexers run on save, on schedule, or manually via the command line.

Related: Flat Table, Cache Type
Repository and Interface

The service contract pattern where an interface defines data operations and a repository class implements it. Code should depend on the interface, with concrete classes bound via di.xml preferences.

Related: Preference, Dependency Injection
Service Contract

A stable, versioned PHP interface in a module's Api folder that exposes business operations to other modules and integrations. It decouples callers from implementation details.

Related: Repository and Interface, Dependency Injection
Layout XML

Files under view//layout that declare blocks, containers, and handles for a page. Handles are merged per request to build the page structure.

Related: Block, Layout Handle, Template (phtml)
Layout Handle

A named layout instruction set, such as default, cms_index_index, or a custom handle, that is applied when the request matches. Multiple handles merge in a defined order.

Related: Layout XML, Block
Block

A PHP view class that prepares data for a template and participates in the layout. Blocks are declared in layout XML and rendered by their associated phtml template.

Related: Template (phtml), Layout XML
Template (phtml)

A PHP-rendered HTML file in a module or theme that outputs markup using data supplied by its block. Templates should escape output to prevent cross-site scripting.

Related: Block, Layout XML
Theme Inheritance

A theme's declaration of a parent theme in theme.xml, causing it to inherit layouts, templates, and static assets. Child themes override only the files they replace.

Related: theme.xml, Static Content Deploy
theme.xml

A theme's metadata file declaring its title, parent theme, and preview image. It establishes inheritance and identifies the theme to the system.

Related: Theme Inheritance, Static Content Deploy
Static Content Deploy

A command-line step that publishes theme assets such as CSS, JavaScript, and images into the pub/static folder for the chosen locales and areas. It must run after theme changes.

Related: Theme Inheritance, Cache Type
Cache Type

A named cache segment such as config, layout, block_html, or full_page that can be enabled, disabled, or flushed independently. Disabling types aids development but hurts performance.

Related: Indexer, Static Content Deploy
Scope

The configuration hierarchy of global, website, store, and store view levels. Settings can be overridden at narrower scopes, and resolved values depend on the current scope.

Related: Configuration (system.xml), Store View
Configuration (system.xml)

A module's file defining admin configuration fields, groups, and sections, including their scope and defaults. Values are read at runtime through the scope config interface.

Related: Scope, Store View
Store View

A presentation-level scope with its own locale, currency display, and theme. Multiple store views can share one website and catalog while differing in language or design.

Related: Scope, Configuration (system.xml)
CLI Setup Commands

Bin commands such as setup:upgrade, setup:di:compile, setup:static-content:deploy, and cache:flush that apply configuration, generate code, and refresh state after changes.

Related: Static Content Deploy, Cache Type