Jigar KarangiyaJigar Karangiya

How to Create a Helper Class in Magento 2?

JK
Jigar Karangiya
· 2 min read
How to Create a Helper Class in Magento 2?

If Magento 2 was a city, helper classes would be the local guides.
They don’t always make the news, but when you’re lost, they’re the first ones you call.

A helper class in Magento 2 is basically your reusable code library — a safe little folder of logic that you can pull out anytime without rewriting the same function five times.
It’s like having that one colleague who always remembers the Wi-Fi password.


What is a Helper Class in Magento 2?

A helper class is just a PHP class that usually extends Magento’s [AbstractHelper](https://github.com/magento/magento2/blob/2.4-develop/lib/internal/Magento/Framework/App/Helper/AbstractHelper.php) and stores functions you’ll use in multiple places.

Common uses include:

  • Fetching config values (instead of scrolling through XML files at midnight)
  • Formatting prices, dates, or other data
  • Storing logic you really don’t want to rewrite later

When Should You Use a Helper Class?

Think of this rule:

If you’ve copied and pasted the same code twice , it’s time to move it into a helper.


Creating a Helper Class in Magento 2

Let’s build a helper from scratch.


Step 1: Create the File

Inside your custom module:

php
app/code/Vendor/Module/Helper/Data.php
 
 
<?php
namespace Vendor\Module\Helper;
 
use Magento\Framework\App\Helper\AbstractHelper;
use Magento\Store\Model\ScopeInterface;
 
class Data extends AbstractHelper
{
    public const XML_PATH_CUSTOM = 'custom_section/general/enable';
 
    /**
     * Get any config value
     */
    public function getConfigValue($field, $storeId = null)
    {
        return $this->scopeConfig->getValue(
            $field,
            ScopeInterface::SCOPE_STORE,
            $storeId
        );
    }
 
    /**
     * Check if our feature is enabled
     */
    public function isCustomEnabled($storeId = null)
    {
        return $this->getConfigValue(self::XML_PATH_CUSTOM, $storeId);
    }
}

Step 2: Use Your Helper in Another Class

php
protected $helperData;
 
public function __construct(
    \Vendor\Module\Helper\Data $helperData
) {
    $this->helperData = $helperData;
}
 
// Example usage:
if ($this->helperData->isCustomEnabled()) {
    // Do something..
}

Why Helpers Are Awesome

  • They make your code clean
  • They make your code reusable
  • They make your code easier to debug

Magento 2 helper classes are a fundamental tool for organizing reusable code.
They allow you to keep logic centralized, improve code maintainability, and reduce duplication.
By following best practice such as keeping helpers concise, avoiding hardcoded values, and using dependency injection—you can ensure your Magento 2 projects remain scalable and easy to manage.

That’s it, give me comments full of helper usecases.

You may also like,

How to Get Store Configuration value in Magento 2?

Magento 2 – How to get current Store ID Programmatically?

How to Create a Custom Cron Group in Magento 2?

Written by Jigar Karangiya, Adobe Commerce & Magento 2 developer.

More about me

Related posts