Skip to end of metadata
Go to start of metadata

Warning

Icon

This page is incomplete. Information here should not be presumed to be accurate or comprehensive.

This guide supports system integrators and developers who create Magento extensions. 

These are the topics we're planning to include in the Magento 2 Developers' Guide. Completed topics are live links; all other topics are planned or in development.  

 

 Web Application Architecture

Coming soon:

  • File system structure overview, autoloader
  • Initialization: bootstrap algorithm and initialization parameters
  • Request flow: entry point, front controller, routing, controller actions
  • Configuration: primary configuration, other types of configuration overview
  • Error handling
  • Security features
 Magento Modular Architecture
Coming soon:
  • General Principles of Modularity and Compatibility
  • Magento Module
  • Magento Framework
  • Magento Theme
  • Language Packages
 View Layer
Coming soon:
  • Key components (classes) of view layer
  • Layout XML: key concepts overview, merging of layout files
  • Working with elements of layout: blocks, containers, references, manipulating elements, reusing handles
  • Page: structure of a page, head elements, page types, design abstractions. Mapping of page types to controller actions and to layout handles
 Configuration

Coming soon:

  • Types of configuration, validation
  • Merging. How configuration files are assembled from modules
  • User (store) configuration, default values, scopes (website, store view)
  • Configuration scopes
  • Overview of other types of configuration
 Magento Programming Concepts and Conventions

Coming soon:

  • Inversion of control (aka "extensibility points")
  • Dependency injection. Interfaces, interface preferences, "virtual types"
  • Dependency inversion, loose coupling. Managing dependencies, segregating layers (application, framework)
  • Definition of API and SPI
  • Service interface
  • Versioning policy
  • Magento backwards compatibility policy
  • Most used OOP patterns: factory, proxy, decorator, observer, interceptor (plugin), strategy, composite
  • Code generation, developer and production modes
 Model Layer

Coming soon:

  • Data access layer / DB access layer / ORM (depends on whether we go for Doctrine ORM or not - currently unknown in Milestone 2)
  • Database schema setup
  • Data fixtures in modules
  • Entities and other domain models
  • Active record pattern (if Doctrine ORM is not adopted) / Data mapper pattern (if Doctrine is adopted)
  • Resource models and collections (if Doctrine ORM is not adopted)
  • Entity collections VS report collections
  • EAV
 Customization

Coming soon:

  • Logic customization: interceptors, event observers
  • Custom extension points
  • Look and feel customization: layout, design themes
  • Customization of text labels and phrases (currently not distinguished from translation)
  • Translation, language packages. Inheritance of languages (currently broken)
  • End-user customization: widgets, user (store) configuration
  • Standard UI elements, admin elements
  • Creating a custom theme
  • Packages, Composer and Magento Connect
  • Building your own extension / module, minimal module skeleton
  • Add new product type
 Testing

Coming soon:

  • Classification of tests
  • General approach and conventions for automated testing
  • Unit testing
  • Integration testing
  • Integrity and static testing
  • Functional testing
  • Performance and Load Testing
 Tools

Coming soon:

  • DI definitions and code generation
  • I18n
  • Coding standard formatter
  • Migration toolkit for 1.x to 2.x
  • View files materialization for production mode
  • Profiling
  • Logging
 Major Functional Subsystems

Coming soon:

  • CMS
  • Catalog, inventory
  • Shopping cart, payments, shipping
  • Pricing, promotions, taxes
  • Sales order system
  • Customers
  • Reports
  • Content staging
  • Import/Export
  • No labels