Magento 2 Backend Development II - On Demand Training
- Courses included: 5
- Total video time: 8 hours
- Access period: 1Y
- € 259 for 1 year
- € 31 per hour of video available to you
Price | €259.00 |
---|---|
Access period | 1 year |
Included courses
Magento 2 Backend Development II
Status: Complete
Last updated: 2024-04-19
Number of lessons: 80
Number of slides: 336
Videos: 6.3 hours
Magento 2 Backend Development III
Status: Complete
Last updated: 2023-10-09
Number of lessons: 32
Number of slides: 180
Videos: 0 hours
Magento 2 GraphQL Development
Status: Complete
Last updated: 2023-07-22
Number of lessons: 21
Number of slides: 84
Videos: 2 hours
Magento 2 Migration
Status: Complete
Last updated: 2021-11-04
Number of lessons: 0
Number of slides: 0
Videos: 0 hours
Magento 2 Unit, Integration and Functional Testing
Status: Complete
Last updated: 2024-04-19
Number of lessons: 62
Number of slides: 167
Videos: 0 hours
Preview this course
Want to see what this course is like? Checkout our Courseware Demo to preview this course and others.
Course content
Magento 2 Backend Development II
- Database models
- Declarative schemas (basics)
- Data models
- Resource models
- Collections
- Naming model classes
- AbstractModel or AbstractExtensibleModel?
- Example models via CLI commands
- Example data model with integration tests
- Improving your data model
- Improving your resource model
- Assignment: Create an author entity
- Assignment: Create a CLI for your author entity
- Events and observers
- Event observer
- Finding events
- Dispatching events
- Observer or Plugins
- Controllers and routing
- Routing overview
- Assignment: Create a frontend page to view authors
- Backend routes
- Override a controller action
- Logic of the FrontController class
- Routers
- How 404 pages work
- securitytxt
- Adding a custom router
- Assignment: Create a custom router for your Author entity
- Quiz: Routers
- CMS parts
- CMS Blocks
- CMS pages
- CSP
- CSP
- Advanced frontend topics
- Widgets
- Assignment: Create a custom widget for your Author entity
- Adding a custom page type
- Filesystem
- Using the filesystem
- Reading files
- Assignment: Create a CLI command to output a file
- Writing files
- Repositories
- Repositories
- Creating your own repository
- Assignment: Create a custom repository for your author entity
- Class patterns
- Data objects
- Builder pattern
- No more Helpers
- Database operations
- Declarative schemas (advanced)
- Manual SQL queries
- Future changes in database layer
- EAV operations
- EAV attributes
- Creating an EAV entity
- Attributes
- About attributes
- Attribute models
- Working with the configuration
- Attribute sets
- Category attributes
- Extension attributes
- Extension Attributes
- Example product extension attribute
- Adminhtml
- Backend routes
- Adding Store Configuration settings
- ACL rules
- Adding a menu item
- Basics of adding UiComponents
- Extending a UiComponent grid
- Creating a UIComponent grid
- Hyva admin
- Custom backend theme
- Caching
- Caching backends
- Caching types
- Adding a custom cache type
- core-cache-config
- Parallel generation with Redis
- Varnish
- Introducing Varnish
- Setting up Magento and Varnish
- Troubleshooting Varnish
- Edge Side Includes
- VCL configuration
- Tips when using Varnish
- Backend of the checkout
- ConfigProviders for window.checkoutConfig
- Layout processors
- Adding a new Layout Processor
- The Vault
- REST API
- Web APIs
Magento 2 Backend Development III
- Block caching
- Block caching
- Cache tags in Blocks
- Cache keys in Block
- Advanced Block caching
- Full Page Cache
- Full Page Cache in Magento
- ElasticSearch
- Introduction to ElasticSearch
- Terminology
- Connecting to ElasticSearch
- Installing ElasticSearch
- ElasticSearch in PHP
- ElasticSearch in Magento
- Aggregation APIs
- Clustering ElasticSearch
- Scaling tips for ElasticSearch
- ELK stack
- Kibana
- Indexing
- Indexing overview
- Where to look for indexing
- How indexing works
- Tuning indexing
- Creating a custom indexer
- Message Queue
- Introducing message queuing
- AMQP
- Magento message queue
- Multi Source Inventory
- Multi Source Inventory overview
- Reservations
- Source Selection Algorithms
- Configuring MSI
- Simplest setup of MSI
- Coding samples with MSI
- Database tables for MSI
- Stock registry
Magento 2 GraphQL Development
- GraphQL basics
- Introduction to GraphQL
- GraphQL clients
- GraphQL queries
- Assignment: Make some queries
- GraphQL mutations
- 04-mutations-assignment
- GraphQL call types
- GraphQL fragments
- GraphQL directives
- GraphQL schema discovery and introspection
- Magento GraphQL API
- Introducing the Magento GraphQL API
- Adding a custom GraphQL endpoint
- Extending the product schemas
- Extending the GraphQL storeConfig endpoint
- Resolver $context argument
- GraphQL resolvers
- Testing GraphQL endpoints
- GraphQL URL resolving
- GraphQL caching
- Exception handling
- Tips and tricks with the GraphQL API
Magento 2 Migration
Magento 2 Unit, Integration and Functional Testing
- Testing overview
- Testing strategies
- Why testing?
- TDD
- Types of testing
- Overview of testing
- Organizing your tests
- Running tests from PHPStorm
- 02-code-quality
- Defensive programming
- DRY principle
- Object Calisthenics
- SOLID principles
- Law of Demeter
- Tell don't ask
- Static code analysis
- Unit tests
- Basics of unit testing
- Example unit test
- Unit testing katas
- Unit Tests
- Using `dev/tests/unit/phpunit.xml.dist`
- Stubs vs mocks vs dummies
- MockBuilder
- Testing exceptions
- Data providers in tests
- Spying with PHPUnit
- Integration Tests
- Overview of Integration Tests
- Setting up integration tests
- Running Integration Tests
- Integration testing
- Which ObjectManager?
- Tips for integration tests
- Magento annotations
- Fixtures
- Integration Tests with Warden
- Minimizing modules that are enabled
- Troubleshooting integration tests
- Advanced topics
- Testing events and observers
- Integration Test scenarios
- Testing module behaviour
- Testing controllers
- Testing the layout
- Testing sessions
- Testing entities
- Refactoring legacy code
- What is legacy code?
- Refactoring with tests
- Strangler fig pattern
- Refactoring with TDD
- Different testing types for legacy code
- Characterization tests
- Code coverage
- 08-integration-test-performance
- Performance overview
- Yireo Integration Test Helper
- Using tmpfs to speed up Integration Tests
- Live Tests
- Overview of Live Tests
- Setup of live tests
- Using the ProductRepository in a functional test
- Functional Tests following Magento
- API Functional Testing
- MFTF
- Magento Functional Testing Framework (MFTF)
- 14-cicd
- PHP linting
- GitHub Actions
- End-to-End testing
- An overview of End-to-End testing
- Cypress