📅  最后修改于: 2023-12-03 15:07:44.062000             🧑  作者: Mango
如果您正在开发 Magento 2 应用程序,您可能需要在代码中获取基本 URL。这个 URL 是 Magento 应用的根 URL,通常是您网站的 URL。
在本文中,我们将介绍在 Magento 2 中获取基本 URL 的几种方法。
StoreManagerInterface
接口提供了一个名为 getStore
的方法,该方法返回正在使用的商店的实例。然后,可以使用 getBaseUrl
方法来获取基本 URL。
<?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();
}
}
Magento 2 应用程序使用依赖注入来获取所需的服务。在您的类构造函数中注入 \Magento\Framework\UrlInterface
,然后使用 getBaseUrl
方法获取基本 URL。
<?php
use Magento\Framework\UrlInterface;
class MyClass
{
protected $urlInterface;
public function __construct(UrlInterface $urlInterface)
{
$this->urlInterface = $urlInterface;
}
public function getBaseUrl()
{
return $this->urlInterface->getBaseUrl();
}
}
虽然不可取,但有些情况下,您可能需要在 Magento 2 中使用 object manager。在这种情况下,可以使用 \Magento\Framework\App\ObjectManager
类获取 UrlInterface
,然后通过 getBaseUrl
方法获取基本 URL。
<?php
$obj = \Magento\Framework\App\ObjectManager::getInstance();
$urlInterface = $obj->get('Magento\Framework\UrlInterface');
echo $urlInterface->getBaseUrl();
在 Magento 2 中获取基本 URL 的最佳方法是使用依赖注入来注入 UrlInterface
并调用 getBaseUrl
方法。这是最安全和可靠的方法,且易于测试。