Categories: Magento

How to get base url in Magento 2

In Magento 2, you can retrieve the base URL using various methods depending on the context in which you need the URL. Here are several ways to get the base URL in Magento 2:

1. Using the Object Manager (Not Recommended):

“`php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $objectManager->get(\Magento\Store\Model\StoreManagerInterface::class);
$baseUrl = $storeManager->getStore()->getBaseUrl();
“`
Note: Directly using the Object Manager is not recommended. It’s better to use dependency injection to retrieve the necessary objects.

2. Using Dependency Injection:

“`php
use Magento\Store\Model\StoreManagerInterface;

class MyClass
{
protected $storeManager;

public function __construct(
StoreManagerInterface $storeManager
) {
$this->storeManager = $storeManager;
}

public function getBaseUrl()
{
return $this->storeManager->getStore()->getBaseUrl();
}
}
“`
Make sure to inject the `StoreManagerInterface` into your class constructor.

3. Using the Context Object:

“`php
use Magento\Framework\App\Http\Context as HttpContext;

class MyClass
{
protected $httpContext;

public function __construct(
HttpContext $httpContext
) {
$this->httpContext = $httpContext;
}

public function getBaseUrl()
{
return $this->httpContext->getValue(\Magento\Framework\App\Http\Context::CONTEXT_BASE_URL);
}
}
“`
The `HttpContext` object provides access to the base URL value.

4. Using the Store Config:

“`php
use Magento\Store\Model\StoreManagerInterface;
use Magento\Framework\App\Config\ScopeConfigInterface;

class MyClass
{
protected $storeManager;
protected $scopeConfig;

public function __construct(
StoreManagerInterface $storeManager,
ScopeConfigInterface $scopeConfig
) {
$this->storeManager = $storeManager;
$this->scopeConfig = $scopeConfig;
}

public function getBaseUrl()
{
$storeCode = $this->storeManager->getStore()->getCode();
return $this->scopeConfig->getValue(‘web/unsecure/base_url’, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $storeCode);
}
}
“`
This method retrieves the base URL from the store configuration.

These are some of the common ways to get the base URL in Magento 2. Choose the method that best suits your requirements and coding standards. It’s recommended to use dependency injection rather than using the Object Manager directly.

twdc

Share
Published by
twdc

Recent Posts

Affordable Web Design Essex

Affordable Web Design Essex: Your Company Website Success Starts Here! Hello, Savvy Essex business owners!…

3 years ago

Web Design for Tradesmen

Masterpieces for builders & trades: Web Design for Tradesmen In the realm of trades, where…

3 years ago

White Label Web Design

White Label Web Design Excellence from The UK Web Design Company Ltd Are you looking…

3 years ago

Charity Website Design

Inspiring Charity Website Design In a world that's constantly evolving, the power to inspire change…

3 years ago

WordPress Website Design Melksham

Providing Businesses with Expert WordPress Website Design in Melksham Are you ready to take your…

3 years ago

Mayfair Web Design Company

Supercharge Your Online Presence with Mayfair Web Design Company In today's rapidly evolving digital landscape,…

3 years ago