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.