mvc框架封装到了最后一步,我们需要引入一个模板引擎twig

同样修改composer文件,在require中加入一行

"twig/twig":"*"

然后命令行输入

composer update

这样就加载了twig引擎

我们可以打开http://twig.sensiolabs.org/doc/api.html网站查看手册

twig模板引擎最优秀的一点就是模板的套用

首先我们在核心文件中写一个方法实例化模板引擎

//视图层显示方法
    public function view()
    {
        //实例化模板引擎
        \Twig_Autoloader::register();

$loader = new \Twig_Loader_Filesystem(APP."/views");
        $twig = new \Twig_Environment($loader, array(
            'cache' => ROOT.'/log/twig',
            'debug'=>DEBUG
        ));
        return $twig;
    }

之前的assign和display方法可以去掉了

我们现在在控制器中调用的时候只需要

public function index(){
        $data="It is work!";
        //$title="这是视图文件";
        $view=$this->view();
        echo $view->render('index/index.html',['data'=>$data]);
    }

即可显示视图文件并传值

然后在模板文件中

<h3>{{ data }}</h3>

即可输出变量

刚才也说了,twig引擎最出色的是模板的套用

我们首先创建一个layout.html文件

<!doctype html> 
<html> 
<head> 
  <meta charset="utf-8"> 
  <title></title> 
</head>
<body>

{% block content %}
<!--  这里是内容    -->
{% endblock %}

</body>

</html>

然后在其他的视图中我们只需要这样写

{% extends "layout.PHP" %}
{% block content %}

<h3>{{ data }}</h3>

{% endblock %}

即可套入

是不是很方便?现在我们的一个简易的mvc框架已经完成了,接下开让我们做一个简单的增删改查来检验一下我们的框架功能!

转载于:https://www.cnblogs.com/quanzhiguo/p/7363410.html

怎样封装一个自己的mvc框架(七)相关推荐

  1. 怎样封装一个自己的mvc框架(五)

    这一节 我们的框架需要完善一项功能, 那就是日志功能,通过查看日志我们可以查看之前操作的控制器! 首先我们需要创建一个日志类 需要有一下几个步骤 * 1.确定日志存储方式      *      * ...

  2. 在Java中搭建一个简单的MVC框架

    搭建一个简单的Java MVC框架 一 . 前言 二. 代码实现 1. 思路分析 2. 代码实现 2.1 Controller注解 2.2 RequestMapping注解 2.3 UserContr ...

  3. 手把手教你封装一个自己的数据库框架~

    本教程将给大家深度剖析数据库框架底层实现的原理,然后采用泛型.反射.注解机制来教大家做一个自己的数据库框架. 前面学习了很多教程,我们转换了一下风格,开始从一个点切入,做更加深入的提升,这也是符合人的 ...

  4. 自己动手写一个简单的MVC框架(第二版)

    一.ASP.NET MVC核心机制回顾 在ASP.NET MVC中,最核心的当属"路由系统",而路由系统的核心则源于一个强大的System.Web.Routing.dll组件. 在 ...

  5. 搭建一个简单的MVC框架

    背景 为何要用MVC框架?首先我们知道不用框架的话,在javaweb项目中每个请求都要写一个servlet,并且要在web.xml中对每个servlet类的映射作配置,不方便开发,因此引入MVC框架. ...

  6. 学写一个 Java Web MVC 框架(一)

    当前我们介绍的是一个简单的MVC,用8个类即实现完整Spring MVC核心功能,外加其他实用的小功能.它是怎么实现的呢?让我们来一探究竟! 源码在:https://gitee.com/sp42_ad ...

  7. 学写一个 Java Web MVC 框架(四)

    访问请求处理 当客户端发送一个请求,被自定义的过滤器MvcDispatcher拦截,解析请求地址和参数对象跳转到一个控制器的方法中,然后执行进行逻辑处理后返回响应内容给MvcDispatcher输出, ...

  8. 自己动手写一个简单的MVC框架(第一版)

    一.MVC概念回顾 路由(Route).控制器(Controller).行为(Action).模型(Model).视图(View) 用一句简单地话来描述以上关键点: 路由(Route)就相当于一个公司 ...

  9. 仿照源码,手写一个自定义 Spring MVC 框架

    毫无疑问,Spring 框架目前已经成为 Java 开发的行业标准,Spring MVC 作为其 Web 解决方案,是所有 Java 开发者都必须掌握的基本技能,理解其底层原理,才能更好地应用它进行实 ...

最新文章

  1. 干货 | 一文搞懂极大似然估计
  2. GDI+中发生一般性错误
  3. react-native 安卓支持 gif动态图
  4. 自己写的sqlHelper 以及读取配置文件
  5. 气体润滑轴承matlab分析,气体润滑轴承的研究与发展
  6. JSON字符串和对象 的转换
  7. 在春意盎然的季节里初识GIT
  8. QT学习笔记(七):定时器事件的3种常用使用方式
  9. 在mysql命令行下执行sql文件
  10. odbc数据源的配置
  11. DIV+CSS样式表命名的规则方法
  12. PHP常用系统设置整理
  13. 航模飞机设计基础知识
  14. 开箱:阿里技术人在读什么书?
  15. Mac野外动物高清动态桌面壁纸
  16. 《Unsupervised Monocular Depth Learning in Dynamic Scenes》论文笔记
  17. 用手机当电脑摄像头的方法
  18. 给创业公司CEO的临别赠言
  19. O2O之下,腾讯觊夺移动支付大数据,手Q支付出战支付宝
  20. linux power manager模型

热门文章

  1. MySQL服务器端客户端常见错误
  2. oracle11g-asm实例中asmlib和raw的使用问题
  3. 手动安装em(redhat 5/oracle 11g)
  4. 数据结构:线段树及ST算法比较
  5. Layui / WEB UI
  6. MySQL下perror工具查看System Error Code信息
  7. JDBC对MySQL数据库存储过程的调用
  8. one-to-one
  9. 老虞学GoLang笔记-数组和切片
  10. MVC 中用JS跳转窗体Window.Location.href