1. controller responsibility



2.创建一个模块

2.1 配置 module.xml 文件:

app/code/Test/First/etc/module.xml
<?xml version="1.0"?><config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"><module name="Test_First" setup_version="2.0.0"/>
</config>

2.2 在 config.php 中添加

app/etc/config.php
'Test_First' => 1,

2.3 注册 registration.php

app/code/Test/First/registration.php<?php
/*** Copyright © 2015 Magento. All rights reserved.* See COPYING.txt for license details.*/\Magento\Framework\Component\ComponentRegistrar::register(\Magento\Framework\Component\ComponentRegistrar::MODULE,'Test_First',__DIR__
);

运行命令。


3.创建控制器

3.1创建配置文件

app/code/Test/First/etc/frontend/routes.xml<?xml version="1.0"?>
<!--
/*** Copyright © 2015 Magento. All rights reserved.* See COPYING.txt for license details.*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd"><router id="standard"><route id="first" frontName="first"><module name="Test_First"/></route></router>
</config>

3.2 创建控制器文件

<?phpnamespace Test\First\Controller\Hello;class World extends \Magento\Framework\App\Action\Action
{public function execute(){echo "<p>wwww</p>";var_dump(__METHOD__);}
}

<?phpnamespace Test\First\Controller\Hello;use Magento\Framework\View\Result\PageFactory;
use Magento\Framework\App\Action\Context;class World extends \Magento\Framework\App\Action\Action
{protected $pageFactory;public function __construct(Context $context,PageFactory $pageFactory){$this->pageFactory = $pageFactory;parent::__construct($context);}public function execute(){var_dump(__METHOD__);$page_object = $this->pageFactory->create();return $page_object;}
}

4.创建视图

4.1创建布局文件

<?xml version="1.0"?><page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1columns" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"><body><referenceBlock name="content"><block
            template="content.phtml"class="Test\First\Block\Main"name="test_hello_world"/></referenceBlock></body>
</page>//注意布局,1columns显示不了

4.2创建 block

<?phpnamespace Test\First\Block;use Magento\Framework\View\Element\Template;class Main extends Template
{protected function _prepareLayout(){} //这一段可有可无
}

4.3创建 phtml

<h1>hello,world !
</h1>



http://alanstorm.com/magento_2_mvvm_mvc

12. No More MVC相关推荐

  1. javascript:12种JavaScript MVC框架之比较

    Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember. ...

  2. [转]12种JavaScript MVC框架之比较

    From : http://www.infoq.com/cn/news/2012/05/js-mvc-framework/ Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月 ...

  3. 12种JavaScript MVC框架之比较

    2019独角兽企业重金招聘Python工程师标准>>> 此次比较针对的特性标准有四种,分别是: UI 绑定(UI Bindings) 复合视图(Composed Views) Web ...

  4. Spring MVC学习总结(12)——Spring MVC集成Swagger时报错{schemaValidationMessages:[

    在springmvc结合swagger的时候,如果将项目部署到服务器上就会出现问题出现下面的图标: 点开会报错误信息: schemaValidationMessages":<

  5. 13个 ASP.NET MVC 的扩展

    ASP.NET MVC设计的主要原则之一是可扩展性.处理管线(processing pipeline)上的所有(或大多数)东西都是可替换的.因此,如果您不喜欢ASP.NET MVC所使用的约定(或缺乏 ...

  6. ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

    在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie ...

  7. ASP.NET MVC 4高级编程(第4版)

    <ASP.NET MVC 4高级编程(第4版)> 基本信息 作者: (美)Jon Galloway Phil Haack Brad Wilson K. Scott Allen 译者: 孙远 ...

  8. ASP.NET MVC Framework 系列

    序言 做为设计模式的王者,MVC在众多领域都成为良好的模型的代名词,从前在ASP.NET下我们只能依靠Monorail来实现ASP.NET下无控件的MVC,但是现在ASP.NET 下的MVC已经成为现 ...

  9. ASP.NET MVC 5 入门指南汇总

    原文:ASP.NET MVC 5 入门指南汇总 经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章 ...

  10. Spring - Java/J2EE Application Framework 应用框架 第 12 章 Web框架

    第 12 章 Web框架 12.1. Web框架介绍 Spring的web框架是围绕分发器(DispatcherServlet)设计的,DispatcherServlet将请求分发到不同的处理器,框架 ...

最新文章

  1. [智力考题]比尔盖茨只有3分的考题
  2. c# 多线程中lock用法的经典实例
  3. 淘系音视频技术的演进之路
  4. 真正聪明的人,为什么从不去社交?
  5. 一个曾经的愤青梦--弥衡
  6. 为什么使用GB28181而不是直接rtsp拉流
  7. hashmap是有序还是无序_说实话,你要是看完这篇 HashMap ,和面试官扯皮真的就没问题了!
  8. 中位数和顺序统计量(第9章)
  9. 怎样将Datatable中的数据直接导入到Excel模板上
  10. 微信小程序page禁止页面上下滑动
  11. iOS开发-使用Storyboard进行界面跳转及传值
  12. java多线程总结一:线程的两种创建方式及比较
  13. STM32 外部中断
  14. python3在线编程工具_9种方便的在线IDE(可在线编辑并运行代码)
  15. 裂变新玩法 2022年京东双十一红包如何领取?
  16. 笔记本连接显示器后没有声音_win7系统电脑连接HDMI显示器后没声音的处理方法...
  17. php匹配ubb,UBB类 php UBB 解析实现代码
  18. CKPT,SMON,PMON,RECO,Dnnn
  19. WebPack 学习:从阮神的15个DEMO开始
  20. Video.js的简单使用介绍

热门文章

  1. MDI/MDIX接口
  2. MySQL技术内幕 InnoDB存储引擎【二】后台线程
  3. [Swift]LeetCode593. 有效的正方形 | Valid Square
  4. java集合和数组互转
  5. 【Zookeeper】源码分析之Watcher机制(一)
  6. 九宝老师微信小程序开发的过程
  7. [JavaEE] Hibernate连接池配置测试
  8. 微软Office Live Workspace测试版开放全球注册
  9. 爬虫_淘宝(selenium)
  10. Java编程框架——Spring Cloud微服务架构实践经验总结