Magento 2 Development Essentials

View class schedule

Target Audience

Developers who want to build skills in working with the architecture, terminology, and core development-related functionality of Magento, along with best practices for extending the platform.

Prerequisites

Solid PHP development background, understanding of Composer and MySQL. OOP experience and understanding of key patterns (GoF, GRASP).

Recommended at least 2 years of development experience with PHP + MySQL + Apache/Nginx.

Course Overview

This course is designed to help new Magento developers learn to perform simple Magento customizations. It demonstrates key concepts of Magento customization techniques, including dependency injection (DI), the layout system, action classes, installing/updating the database schema, the web API, and more.

After this course a student with little or no prior Magento experience should understand how Magento is structured, learn what tools are available to make a required customization, and be able to develop simple customizations. At the same time, the course will only cover the most important technical content a new Magento developer should know, and will only briefly touch upon business logic such as checkout. Other courses are available for developers who wish to go deeper on their learning.

This course is structured to align with and support preparation for the Magento 2 Certified Associate Developer exam. Any students who meet the course prerequisites should be able to pass the Associate exam shortly after completing this course.

This course is based on Magento Open Source 2.2 and Magento Commerce 2.2.

Learning Objectives

  • Gain familiarity with key Magento concepts
  • Gain ability to understand Magento codebase
  • Create new pages in Magento, and understand how existing pages work and can be customized
  • Make simple UI modifications, design changes, customization of existing pages
  • Learn and be able to apply Magento customization techniques
  • Learn how to use Magento WebAPI
  • Create/modify the database schema
  • Customize the Admin UI
  • Prepare for the Magento 2 Certified Associate Developer exam

Course Outline

1. Basics of Magento Architecture & Customization Techniques
  • 1.1 Magento module-based architecture
  • 1.2 Magento directory structure
  • 1.3 Configuration XML & Variables scope
  • 1.4 Dependency injection
  • 1.5 Event observer
  • 1.6 CLI

2. Request Flow Procedures
  • 2.1 Magento modes
  • 2.2 Frontend Controller
  • 2.3 URL Rewrites

3. Customizing Magento UI
  • 3.1 Magento Themes UI
  • 3.2 Magento UI Customizations of blocks and templates
  • 3.3 Block types
  • 3.4 Magento Layout XML

4. Working with Database in Magento
  • 4.1 Basic concepts of models, resource models, collections
  • 4.2 Load and save an entity from a database
  • 4.3 Magento sort, filters and specify the selected values for collections and repositories
  • 4.4 Install/Upgrade scripts in Magento
  • 4.5 DDL class in setup scripts

5. Developing with adminhtml
  • 5.1 Controller for admin router
  • 5.2 Magento cache
  • 5.3 Magento configurations XML, scopes
  • 5.4 Magento ACL
  • 5.5 Set up a menu item
  • 5.6 Magento permissions
  • 5.7 Magento extensions, the different types of extension available (Community, Core, Commercial)
  • 5.8 Installation and configuration process in Magento

6. Customizing Magento Business logic
  • 6.1 Product Types in Magento (simple, configurable, bundled, etc.)
  • 6.2 Category properties in Magento
  • 6.3 Category relations in Magento
  • 6.4 Product types behavior in shopping cart
  • 6.5 Shipment functionality in Magento
  • 6.6 My account section
  • 6.7 Customize my account section
  • 6.8 Customer's attributes
  • 6.9 Customer address