怎么在Magento 2中创建控制器controller

控制器是模块开发系列和PHP MVC框架的重要组成部分。该功能就是接收到的请求、处理和呈现页面。
在Magento 2控制器中,模块的Controller文件夹中有一个或多个文件,其中这些文件都包含execute()方法的类动作。此方法是action的入口方法。
有两种不同的控制器,它们是前端控制器和后端控制器。它们通常与工作流相似,但管理控制器略有不同。在管理控制器中有一个检查权限的方法,它调用表单键。

控制器controller是如何工作的?

它接收来自终端用户(浏览器或comamnd行)的请求,例如:

  • oute_name是在routing .xml中设置的唯一名称。
  • controller是controller文件夹中的文件夹。
  • action是一个用execute方法处理请求的类。
前端控制器是控制系统的重要组成部分之一。
(Magento\Framework\App\FrontController), 它总是接收请求然后路由控制器,通过route_name动作让我们举一个路由请求的例子:

如果找到控制器类的操作,将运行execute()方法。

如何创建控制器?

要创建控制器,需要在模块的controller文件夹中创建一个文件夹,并在其中声明一个action类。例如,我们为模块 Pfay_Contacts 创建了一个索引控制器和一个索引操作:

步骤1: 首先创建模块的文件夹

从magento目录的根目录转到/app/code文件夹。然后创建一个文件夹“Pfay”和另一个文件夹“Contacts”。

名称空间:
您的模块位于Pfay名称空间中。您将在这个文件夹中“存储”将要创建的模块。
注意,永远不要修改magento2的“核心”文件,即文件夹/app/code/Magento,否则如果你想要更新平台,就会遇到大问题。

在magento2下声明它的模块

现在您已经创建了模块的文件夹,您必须向magento“声明”模块。为此,我们将创建 module.xml文件。模块/etc文件夹中的module.xml文件如下:

步骤2: 我们也将创建文件“ registration file”。进入app/code/Pfay/Contacts,创建 registration.php是这样的:

当您启动以下命令时:

你会看到这条线

步骤3: 在文件夹app/code/Pfay/Contacts/Controller中,创建一个文件夹测试,并在下面创建索引 Index.php文件如下:

步骤4: 创建访问控制器的路由, 为了通过前端访问我们的模块,您必须为模块的前端创建路由。这里我们想通过url www.magento2.lan/contacts/访问模块。我们将在etc文件夹中创建一个“ frontend”文件夹,然后插入 routes.xml文件。 文件routes.xml必须是这样的:

我们使用“ standard”路由器,允许访问我们的magento2模块的前端部分!我们添加带有id“contacts”的路由来识别它,以及frontName“contacts”,这是您访问前端模块的关键url。在此路径中,然后使用name属性定义模块元素,该属性包含“名称空间”+“模块名称”。

注意:如果你创建后台路由则id应该是admin。

步骤5: 关于控制器的组织,

当从模块的根声明时,我们有文件  /Controller/Test/Index,在本教程的后续步骤中,我们将告知控制器测试的Action Index。我们会通过url访问它

注意在访问之前:要做的以下几点工作

如果你想了解怎么在controller里面调用helper类的方法,请访问这里 https://www.sky8g.com/technology/1957/

希望以上对你有帮助,如遇到不懂得地方请留言。谢谢你的阅读。

 

如果有不懂的地方请留言,SKY8G网站编辑者专注于研究IT源代码研究与开发。希望你下次光临,你的认可和留言是对我们最大的支持,谢谢!

上一篇: PHP | strtolower() Function

下一篇: 怎么在CentOS 7上为Nginx创建自签名SSL证书

登录 评论
avatar