Course Outline
Day I
Introduction to Magento
- Quick description Magento 2
- Community vs. Commerce Comparison
- Pricing Magento Commerce
- Magento Commerce Cloud
- Differences from Magento 1
Construction Magento 2
- MVVM pattern overview
- Project structure
- Dependency Management (composer, PSR-4 Autoloader)
- Structure of a single module
- Module registration
- Discuss Websites, Store Groups, Store Views
- Multiple stores in one instance Magento 2
- Multilingualism
- Config scopes
Advanced Magento 2 - Database
- Configuration tables (settings, module versioning)
- Verification of the module version in the database, creation of your own configuration in the administration panel, discussion of ACL
- Setup Scripts
- UpgradeSchema script
- Persistence Layer
- Creating a persistence layer (Model, ResourceModel, Collection)
- EAV Pattern Overview
- EAV in Magento2
- EAV entity types in Magento2
- Feature Sets
- Extension attributes
- Flat tables
- Database sharding
Advanced Magento 2 - PHP
Managing class dependencies (Service Contract, discussion of Dependency Injection patterns, Dependency Inversion, discussion of how Dependency Injection works in M2, ObjectManager)
Code generation
- Factory
- Interceptor
- Proxy
Magento 2 CLI
- Function overview
- Creating your own command to create model objects
- Controllers in Magento 2
- Creating your own frontend controller
- Own logger in Magento 2
- Ways to extend Magento - override, plugin (Interceptor pattern overview), event observation (Observer pattern overview)
- Creating your own Observer and your own Event (in the controller) and a plugin on your own frontend controller and a logger for both classes
Day II
Advanced Magento 2 - frontend
- Themes
- Elementy frontend modules, layouts, blocks, view models
- Creating a template, view model and displaying objects from the collection
- Less Preprocessor
- Adding LESS styles to the view
- RequireJS
- KnockoutJS
- UI Components
- Generating static files
Operating modes Magento 2
Session PHP
- Ways to store sessions
- Configuration Redis
Full Page Cache
- FPC Magento2 (Files, Redis, Varnish)
- Varnish Configuration
- Hole punching
Cron in Magento 2
- Operation overview
- Own cronjob
Cache in Magento 2
- Built-in types
- Own cache
Indexers Magento 2
REST and SOAP APIs in Magento 2
- Discussion of authentication methods
- Overview of available methods
- Defining your own API endpoints
- Creating a Data Contract and Service Contract for the Repository, adding the get method from the Repository to the WebAPI
Integration tests, unit tests
Creating a listing and a form for model objects using UI Components
Block: deploy automation & monitoring & performance testing:
Deploy automation tools: GitLab CI/CD, GitLab Runner
How to safely deploy with zero downtime, while ensuring fast rollback
Monitoring Magento ─ New Relic
Efficiency:
Testing with LoadImpact. How to prepare scenarios and simulate production traffic.
Cache warming for Varnish
Requirements
Good PHP knowledge