Technical blog posts about Magento

Articles containing in-depth analysis of Magento 2's best practices, programming techniques, and other development topics.

What’s the difference between a Block Class and a View Model in Magento?

What’s the difference between a Block Class and a View Model in Magento?

It's difficult to know differences between a Block Class and a View Model in Magento 2. Let's find out what each of them does, and when to use one over the other.

Mark Shust

Mark Shust

URL Encryption and Decryption in Magento 2

URL Encryption and Decryption in Magento 2

If you've ever wanted to conceal the name or location of something, look into the encrypt & decrypt functionality of Magento 2.

Mark Shust

Mark Shust

How to Use Multiple Collections in Magento 2

How to Use Multiple Collections in Magento 2

Learn how to properly use multiple collection instances in Magento 2 including creating new collections with factories, clearing & resetting, and PHP's clone keyword.

Mark Shust

Mark Shust

Updated
Refactoring Magento 2 Model Code to the Repository Design Pattern

Refactoring Magento 2 Model Code to the Repository Design Pattern

A step-by-step guide to refactoring Magento 2 code to adhere to the recommended design patterns, with a focus on implementing the repository pattern to improve overall maintainability.

Mark Shust

Mark Shust

Setting Up a Magento 2 Development Environment Using docker-magento

Setting Up a Magento 2 Development Environment Using docker-magento

Learn how to use docker-magento to get a new Magento 2 development environment set up in minutes.

Mark Shust

Mark Shust

Understanding the Magento Dependency Injection Layer with dev:di:info

Understanding the Magento Dependency Injection Layer with dev:di:info

About the dev:di:info CLI tool, which can help you navigate the dependency injection layer in Magento with ease.

Mark Shust

Mark Shust

Magento Certified Developer - Cost, Benefits & Steps

Magento Certified Developer - Cost, Benefits & Steps

Explore the benefits and cost of becoming a Magento certified developer, including the steps to get an Adobe Commerce certification.

Mark Shust

Mark Shust

Updated
How to Apply a GitHub Commit to Magento Core Code

How to Apply a GitHub Commit to Magento Core Code

Read about how the process of applying a specific commit from the GitHub version control system to the core of Magento code.

Mark Shust

Mark Shust

What is the difference between Magento 2’s cache clean & flush?

What is the difference between Magento 2’s cache clean & flush?

If you've ever wanted an explanation of the difference between Magento's cache:clean and cache:flush commands, here it is.

Mark Shust

Mark Shust

Dependency injection with Magento's Object Manager

Dependency injection with Magento's Object Manager

Learn how Magento's Object Manager works with dependency injection to create & manage objects in the Magento framework.

Mark Shust

Mark Shust

Set up & configure Grunt for Magento 2 theming

Set up & configure Grunt for Magento 2 theming

Getting your developing tooling is important for efficient Magento 2 theming, and a crucial part of that process is setting up & configuring Grunt for LESS & CSS compilation.

Mark Shust

Mark Shust

Debug Magento 2 PHP with Tinkerwell

Debug Magento 2 PHP with Tinkerwell

There are many ways to debug Magento. One option is to use Tinkerwell, a fully-functional REPL to help debug your PHP code.

Mark Shust

Mark Shust

Static Analysis in Magento with PHPStan

Static Analysis in Magento with PHPStan

Learn about PHPStan and a related Magento plugin, which provide the ability to help follow Magento best practices by analyzing code during development.

Mark Shust

Mark Shust

Automated testing in Magento 2 with Behat

Automated testing in Magento 2 with Behat

There are many ways to conduct automated unit testing in Magento, and one of those ways is with Behavior-Driven Development using Behat.

Carlo Tasca

Carlo Tasca

Create custom Magento checkout layout processors to modify jsLayout

Create custom Magento checkout layout processors to modify jsLayout

Still using plugins to modify properties of jsLayout? Stop right now, and learn a more elegant way to customize the Magento checkout with your own custom layout processor.

Mark Shust

Mark Shust

All about the Magento 2 configuration settings fallback process

All about the Magento 2 configuration settings fallback process

Everyone knows about creating & assigning configuration settings in Magento 2. But do you know about the fallback process, and how values can be overridden per environment?

Mark Shust

Mark Shust

Understand local & external JavaScript state management in Magento

Understand local & external JavaScript state management in Magento

Managing application state is always difficult, and knowing when to use local or external state can help guide a proper architectural decision for your Magento store.

Mark Shust

Mark Shust

Programmatically add a column to the Magento 2 sales order database table

Programmatically add a column to the Magento 2 sales order database table

Find out how to add a custom field to the sales_order database in Magento as an order attribute using extension attributes.

Mark Shust

Mark Shust

Updated
Easily debug Magento in Docker with Spatie's Ray

Easily debug Magento in Docker with Spatie's Ray

Sick of using \Psr\Log\LoggerInterface, var_dump, or Xdebug to debug data in Magento? There is now an easier way, thanks to Spatie's Ray.

Mark Shust

Mark Shust

Want to get notified when new Magento blogs are published?

Blog feed reader? Grab the RSS Feed URL