Magento 2 Coding Kickstart course image

Magento 2 Coding Kickstart

Quickly learn and reference all of the core Magento programming basics, concepts & patterns, even with no prior experience. New course for Magento 2.4.4 & PHP 8.1!

81 lessons

4h 30m

Entirely new course created in 2022 for Magento 2.4.4 & PHP 8.1!

Magento is an unbelievable platform & architecture to build advanced eCommerce websites that scale. But it is also one of the most complex, intricate platforms to learn, and getting up to speed quickly is extremely difficult.

This course solves this problem with a focused, simplified curriculum. The overarching goal of this course is to teach you the backend fundamentals of Magento 2, even if you have no prior experience. If you have been wanting to learn Magento but don't know where to start, you've come to the right place.

Take the analysis paralysis out of Magento development

Learn the how,
and the more important why.

Magento beginners welcome

The goal of this course is for you to become productive in Magento programming very quickly. Things should start to "click" for you rather quickly after going through the course.

This is a screencast course, and each lesson comes with full text translation, full inline source code of the code presented in the lesson.

  • Learn visually

    By watching the instructor program in front of your eyes, you will learn faster than trying to source and read documentation.

  • Full source code

    After watching the lessons, easily reference the source code on GitHub to build out features for your upcoming projects.

Code controller

Stay focused

All aspects of Magento were analyzed, and the core "must know" concepts were identified. Each lesson is presented in a way which is easy to learn and follow.

Also, lessons were very purposely made short & concise, so you can remain engaged throughout the entire course and actually learn what you are watching.

  • Kept simple

    You won't get lost trying to understand multiple foreign ideas, as each topic has been broken down to teach only one simple concept at a time.

  • Short & concise lessons

    Most courses are too long and you'll lose focus quickly. Short lessons keep you engaged, and make things easier to reference in the future.

M.academy links

I highly recommend Magento beginners to follow M.academy's Coding Kickstart course, as it covers the Magento basics in a clear & concise way. Agencies, this is what your new Magento dev should be spending their first day on.”  

Course curriculum

Each video lesson can be played back & referenced as many times as you wish at slow or fast speed, tech-friendly closed captions, and full source code.

Spanish translations provided by Google Translate

81 lessons

4h 30m

Last updated May 13, 2022

Introduction

Welcome! Prerequisites, focus & outcome
Welcome! Prerequisites, focus & outcome

Application & Environment Setup

Directory structure of a Magento project
Directory structure of a Magento project
All about Magento application modes
All about Magento application modes
Enabling developer mode for Magento development
Enabling developer mode for Magento development
Set up Composer auth credentials for the Magento Marketplace
Set up Composer auth credentials for the Magento Marketplace
Install & deploy Magento sample data
Install & deploy Magento sample data
About the Magento config, environment & version control
About the Magento config, environment & version control
Set up additional Magento development tools
Set up additional Magento development tools

Caching

Enabling & disabling cache types in Magento
Enabling & disabling cache types in Magento
Cleaning & flushing Magento caches
Cleaning & flushing Magento caches
Enable automatic Magento cache clearing for development
Enable automatic Magento cache clearing for development

Module Basics

Magento local module directory naming conventions
Magento local module directory naming conventions
Magento third-party module directory naming conventions
Magento third-party module directory naming conventions
Magento module registration file
Magento module registration file
Magento module definition file
Magento module definition file
Enable a Magento module
Enable a Magento module
Exercise: Create your own custom Magento module
Exercise: Create your own custom Magento module
Exercise: Install a third-party Magento module
Exercise: Install a third-party Magento module
Create a composer.json file for your module
Create a composer.json file for your module

Routing

Built-in Magento routers
Built-in Magento routers
The anatomy of a Magento URL
The anatomy of a Magento URL
Define a new custom route in Magento
Define a new custom route in Magento
Create a controller action in Magento
Create a controller action in Magento
Exercise: Create a controller action for the blog post detail view
Exercise: Create a controller action for the blog post detail view
Reserved keywords in Magento controller actions
Reserved keywords in Magento controller actions

Dependency Injection

Dependency injection & Magento’s Object Manager
Dependency injection & Magento’s Object Manager
Why the new keyword can’t be used to create objects in Magento
Why the new keyword can’t be used to create objects in Magento
Create a new object in Magento using Object Manager
Create a new object in Magento using Object Manager
Create an object with dependency injection using a singleton
Create an object with dependency injection using a singleton
About generated code in Magento
About generated code in Magento
How Magento defines class & interface preferences with XML
How Magento defines class & interface preferences with XML

Interfaces & Factories

What are service contracts?
What are service contracts?
Create an object with dependency injection using an interface
Create an object with dependency injection using an interface
Create a page object with dependency injection using a factory
Create a page object with dependency injection using a factory
Exercise: Create a page response for the blog post list view
Exercise: Create a page response for the blog post list view
Redirect a Magento controller action with a factory
Redirect a Magento controller action with a factory
Forward a Magento controller action with a factory
Forward a Magento controller action with a factory

Views

Magento page layouts & containers
Magento page layouts & containers
Magento core layouts & blocks
Magento core layouts & blocks
Custom Magento layout handles
Custom Magento layout handles
Create a custom layout XML file
Create a custom layout XML file
Create a new template file in Magento
Create a new template file in Magento
Display a Magento template in a block
Display a Magento template in a block
Challenge: Create a template & render it in a block with layout XML
Challenge: Create a template & render it in a block with layout XML
Review: Create a template & render it in a block with layout XML
Review: Create a template & render it in a block with layout XML
Change the page layout of a Magento view
Change the page layout of a Magento view
Locate block templates in Magento
Locate block templates in Magento
Locate block nodes in Magento layout XML files
Locate block nodes in Magento layout XML files
Exercise: Locate a template & related block node in layout XML
Exercise: Locate a template & related block node in layout XML
Move Magento blocks on a page
Move Magento blocks on a page
Remove or control the display of a Magento block
Remove or control the display of a Magento block
Overriding & translating Magento template text with i18n
Overriding & translating Magento template text with i18n
Override an existing Magento block template
Override an existing Magento block template
Render & wrap Magento children blocks with containers
Render & wrap Magento children blocks with containers
Exercise: Magento module cleanup
Exercise: Magento module cleanup
Update templates with placeholder data
Update templates with placeholder data

Database Models

About Magento’s declarative schema
About Magento’s declarative schema
Create a new database table
Create a new database table
Automatically remove database properties on updates
Automatically remove database properties on updates
Magento Model vs ResourceModel vs Collection
Magento Model vs ResourceModel vs Collection
Create a model
Create a model
Create a resource model
Create a resource model
Create a collection
Create a collection

Repositories & Data Interfaces

What is a repository?
What is a repository?
Create a data transfer object (DTO) interface
Create a data transfer object (DTO) interface
Update a model to implement a DTO interface
Update a model to implement a DTO interface
Define a model preference for a DTO interface
Define a model preference for a DTO interface
Create a repository interface
Create a repository interface
Create a repository
Create a repository

Saving & Querying Data

Load data with a resource model
Load data with a resource model
Save data with a resource model
Save data with a resource model
Delete data with a resource model
Delete data with a resource model
Write a setup patch data script
Write a setup patch data script
Save data using a repository
Save data using a repository
Execute setup patch data scripts
Execute setup patch data scripts
Exercise: Write another setup data patch script
Exercise: Write another setup data patch script
Create a ViewModel
Create a ViewModel
Pass data to a template using a ViewModel
Pass data to a template using a ViewModel
Exercise: Create a new function within a ViewModel
Exercise: Create a new function within a ViewModel
Load data using a collection
Load data using a collection
Load data using a repository
Load data using a repository
Escape template data to prevent XSS security vulnerabilities
Escape template data to prevent XSS security vulnerabilities
Expose a REST API endpoint using a repository
Expose a REST API endpoint using a repository

Design Patterns

Create and dispatch an event
Create and dispatch an event
Listen for an event with an observer
Listen for an event with an observer
What is a plugin or interceptor?
What is a plugin or interceptor?
Use a before plugin to modify function parameters
Use a before plugin to modify function parameters
Use an after plugin to modify the result of a function
Use an after plugin to modify the result of a function
Use an around plugin to silence a function
Use an around plugin to silence a function
Override a class using a preference
Override a class using a preference

Enroll in the course

Start learning M2 today

Choose the best option for you & your team.

Team
$ 1047
one-time payment for your team
  • Train up to 5 on your team

  • Lifetime access to this course

  • Free updates for life

  • Full source code

Individual
$ 349
one payment for lifetime access
  • License for a single user

  • Lifetime access to this course

  • Free updates for life

  • Full source code

The Magento 2 Coding Kickstart is one of, if not the best set of Magento training videos out there. It just cemented in my mind the things I do, and described them in ways that are easier to understand.”  

James Cowie
James Cowie James Cowie
Magento Master, CTO, Shero Commerce

Frequently asked questions

Do I need to re-purchase this course?
If you previously purchased the Magento 2 Coding Kickstart course on or before April 10, 2022, you will automatically have access to this course update for no additional charge. There is no need to purchase the course again, as your initial enrollment included lifetime updates.
If you are a University student, you already have access to this course update by visiting the course portal.
Who is this course meant for?
This course was developed to onboard beginning Magento programmers to the platform, but it is still very useful to intermediate developers looking for a refresher, or to fine-tune their skills. This course helps clarify the "I don't understand this" questions which stump everyone new to Magento programming.
What do I need to know to take this course?
This course assumes you have basic knowledge of PHP and object oriented programming. Web development experience is preferred, but not required. You'll be guided through every aspect of writing Magento backend code, so even if you aren't 100% up to speed with OOP or terminology, you should still be able to pick things up rather quickly.
Do I need a development environment setup?
Yes, this course assumes you have a running development environment of Magento setup and running locally. If you don't already have a development environment setup, please set one up before enrolling in the course. M.academy has a free course, Set Up a Magento 2 Development Environment with Docker.
What version of Magento is this based on?
This course was created using concepts featured in Magento version 2.4.4. This includes techniques such as declarative schema, data patch scripts, controller composition, and dependency injection using PHP 8's promoted properties. If a new best-practice approach is introduced in a future version of Magento 2, the course will be updated appropriately.
Will I receive anything upon course completion?
Upon completion of the course, you'll receive a certificate of completion signed by the course instructor. This demonstrates to potential employees that you have the basic underlying knowledge of Magento fundamentals. If your employer offers continuing education stipends, you may also be able to use this certificate to get the cost reimbursed by your employer.
What if I need a business invoice?
Invoices now contain fields for company names and VAT numbers. As long as you add your company name at checkout, you will automatically receive a business invoice emailed to you after purchase.
M.academy supports Ukraine 🇺🇦