Adobe Commerce Developer Expert study materials
Adobe Commerce Developer Expert study resources

Adobe Commerce Developer Expert flashcards

Adobe Commerce Developer Expert · Build recall with a focused review session.

32 cards. Read the term and the definition here. The deck at the top of this page is optional.

registration.php purpose
Declares a module, theme, or language package to the framework by calling ComponentRegistrar::register with the component type, name, and its base directory.
Area definition
A configuration scope such as frontend, adminhtml, webapi, or crontab that selects which di.xml and routes load, isolating dependencies per request context.
module.xml sequence
The sequence element lists module names that must load before this module, controlling merge order of configuration files and plugin sort resolution.
Layout handle merge
Layout XML files with the same handle name are merged in load order; referenceBlock and referenceContainer modify existing nodes rather than creating duplicates.
Around plugin signature
aroundMethod(Subject $subject, callable $proceed, ...$args) wraps the original method; the plugin must call and return $proceed() to preserve the chain.
Virtual type
A named, configured instance of an existing class declared in di.xml with xsi:type virtualType, allowing argument overrides without creating a PHP subclass.
Interceptor generation
The compiler generates plugin wrapper classes into generated/code during setup:di:compile in production mode; developer mode generates them on demand.
Proxy injection
A generated subclass that defers instantiating the real dependency until one of its methods is called, breaking cycles and avoiding cost for rarely used classes.
Before plugin return
A before plugin may return an array of arguments that replaces the original arguments; returning null leaves the original arguments unchanged.
Plugin sortOrder
The sortOrder attribute on the plugin node determines execution order; lower values run first, and ties resolve by module load sequence.
ObjectManager factories
Generated Factory classes create new instances of non-injectable classes on demand, while Repository and Service contracts expose persistence without direct model coupling.
di.xml argument types
Arguments use xsi:type values string, boolean, number, const, init_parameter, array, object, or null; object arguments are constructed by the ObjectManager.
EAV value tables
Attribute values are stored in catalog_product_entity_int, _varchar, _text, _decimal, and _datetime, keyed by entity_id, attribute_id, store_id, and value.
store_id zero semantics
A row with store_id 0 holds the default value; a store-specific row overrides it, and missing store rows fall back to the default row.
Static versus EAV attribute
Static attributes are columns on the main entity table; EAV attributes require joins through value tables and are defined in eav_attribute with a backend_type.
db_schema.xml
Declarative schema file defining tables, columns, indexes, and constraints; setup:upgrade compares it against the database and applies the diff.
Data patch interface
Classes implementing DataPatchInterface run once during setup:upgrade, are recorded in patch_list, and are used for data changes rather than schema changes.
Product flat tables
catalog_product_flat_<store> denormalizes EAV attributes into one row per product per store, built by the flat indexer to reduce joins on the storefront.
EAV collection filters
addAttributeToFilter and addAttributeToSelect on product collections build joins to value tables, with store scope resolved through the current store id.
Schema whitelist
A generated file listing schema changes that setup:db-declaration:generate-whitelist permits, used when declarative schema must coexist with legacy install scripts.
Full page cache key
FPC entries are keyed by URL, store, customer group, and currency; blocks marked cacheable=false are rendered outside the cached HTML via hole-punching.
Cache tags
Identifiers attached to cached items such as cat_p_<id> or cms_b_<id>; cleaning by tag invalidates every entry carrying that identifier.
cache:clean versus flush
cache:clean removes entries of specified cache types while preserving others; cache:flush wipes the entire cache storage backend including unrelated types.
Deploy mode production
Mode where static files and DI are precompiled, on-demand generation is disabled, and errors are suppressed; set with bin/magento deploy:mode:set production.
Static content deploy
setup:static-content:deploy publishes theme and module assets into pub/static per locale and theme, required in production mode before traffic is served.
Indexer update modes
Update on Save reindexes synchronously with the write; Update by Schedule defers to cron. Invalid indexers fall back to on-the-fly reindex during reads.
env.php contents
Deployment-specific configuration including database credentials, cache and session backends, crypt key, and cache hosts; it is environment-local and not committed.
config.php contents
Committed file recording enabled modules and their versions plus scopes; it is written by setup:upgrade and read during bootstrap to build module list.
Varnish purge mechanism
Magento sends BAN requests tagged with X-Magento-Tags to configured http_cache_hosts so Varnish invalidates cached pages matching changed entities.
Redis role separation
Redis can back default cache, page_cache, and session storage; assigning each to a distinct database index prevents key collisions and simplifies flushing.
Compiled config cache
The compiled_config cache type stores merged di.xml and configuration; it must be cleared and recompiled after changing dependency injection configuration.
Cron group configuration
crontab.xml assigns jobs to groups with schedules; cron groups in crontab.xml map to cron_groups in config and run via bin/magento cron:run.