对于那些使用Magento 1平台的人来说,Helper可能并不陌生。它们是可以为整个Magento网站提供众多功能的功能的类。使用Magento 2,可以在控制器,模型,视图甚至其他帮助器中调用Helper。在这篇文章中,我将为您提供有关Magento 2 Helper Class的几个基本知识,以及如何创建和使用它。
表中的内容
- 为什么需要创建助手
- 什么是Magento 2中的助手
- 创建Magento 2助手类
为什么需要Create Helper
可以将助手视为全球性且始终可用的元素。它们甚至可以创建为单个对象的实例。此外,一旦你在课堂上注入它们,它们就可以随处调用。助手主要是为最常见的功能提供方法。例如,您可以使用帮助程序在Magento的应用程序中构建日志。
什么是帮手
在早期版本的Magento 2中,可以使用Helper Factory,它使开发人员能够实例化辅助方法。此外,您可以使用以下代码使用ObjectManager来实例化Helper Factory。
$object_manager = \Magento\Core\Model\ObjectManager::getInstance();
$helper_factory = $object_manager->get('\Magento\Core\Model\Factory\Helper');
$helper = $helper_factory->get('\Magento\Core\Helper\Data');
但是,这段代码仍然存在一些问题。幸运的是,引入了一个更好的概念,即Magento 2中的依赖注入。
使用此概念,环境将创建并提供对象而不是实例化它。例如,如果类的编写如下:
class Helper
{
public function __contruct(Helper $xyz)
{
$this->xyz= $xyz;
}
}
在Helper类构造函数中,自动创建Helper类的对象并为其分配引用$ xyz。这是依赖注入。
通过这个概念,Magento 2提供了高价值的松耦合模块概念。如果要将其注入特定的类,只需将对象添加到它的构造函数中即可。但是,您需要记住,您不能两次注入一个依赖项。
如何创建助手类
第1步:打开您的模块
您必须完成的第一件事是在Magento 2中创建一个简单的模块。
- 步骤2:创建模块后,您需要在该模块的目录中创建一个Helper文件夹。以下是目录结构的外观:
<Mageplaza>
|-------- HelloWorld/
|---------------- composer.json
|---------------- registration.php
|---------------- etc/
|------------------------ module.xml
|---------------- Helper/
|------------------------ Data.php
- 步骤3:在Helper文件夹中,创建Data.php文件并将以下代码添加到该文件中:
<?php
namespace Mageplaza\HelloWorld\Helper;
use \Magento\Framework\App\Helper\AbstractHelper;
class Data extends AbstractHelper
{
public function getStoreConfig()
{
return true;
}
}
完成上述步骤后,您的助手将成功创建。你可以在Data.php中看到,有一个名为getStoreConfig()
has 的函数,可以通过使用依赖注入在Magento 2中的任何地方调用。
此外,为了使用您刚刚创建的帮助程序,请遵循以下代码架构:
<?php
use \Mageplaza\HelloWorld\Helper\Data;
class Data
{
public function __construct(Data $helper)
{
$this->helper = $helper;
}
public function newFunction()
{
$this->helper->getStoreConfig();
}
}
结论
总之,Magento 2 Helper Class包括在整个应用中常用的各种功能和方法。所有声明为Helpers的方法都可以在任何地方调用,包括文件,模型,块,控制器类或Magento 2中的另一个帮助程序。我希望这篇文章为您提供了有关Helper类的所有基本信息