在Magento 2中创建助手类的3个步骤

对于那些使用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类的所有基本信息

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论