zoukankan      html  css  js  c++  java
  • PHP 模板引擎

    PHP模板引擎的由来

    ● 为了解决当时混合开发WEB应用出现的一系列问题:代码难维护,代码不可重用,程序员要求知识广等问题

    ● 实现后端与前端不完全分离,开发与美工可以分工合作,提高效率

    PHP模板引擎带来的问题

    ● 由于是不完全分离,导致分工中还有部分耦合地方

    ● PHP模板引擎 导致了 模板引擎语言 的诞生,增加学习成本,还导致是前端和后端谁学习的争论

    当今PHP模板引擎还有价值吗?

    ● 当前完全前后端分离的解决方案已经出现,前端三大框架(vuejs/React..等)都已经实现前端模板引擎了,所以基本PHP模板已经给取代了,减轻服务端压力

    ● 但如果要维护老项目,还需要用到PHP模板引擎,如果想简单快捷开发PC项目,使用PHP模板引擎是比较好的选择

    PHP模板引擎实现原理

    ● 读取模板文件的内容

    1

    $content = file_get_contents($tmplFile);

    ● 使用正则表达式把模板语言替换为PHP语言

    1

    $repContent = preg_replace($pattern, $replacement, $content);

    ● 保存成新的.php文件

    1

    file_put_contents($comFile,$repContent);

    ● 最后把新生成的.php文件包含进来

    1

    include $comFilePath;

    include与require注意事项

    ● include与require的功能是把后面的字符串作为文件名,不论文件扩展名是不是.php,都认为那个文件是php程序,引入到当前程序中运行。

    ● php程序如果没有被<?php和?>包起来,就会直接输出。

    ● 当一个文件被包含时,语法解析器在目标文件的开头脱离 PHP 模式并进入 HTML 模式,到文件结尾处恢复。由于此原因,目标文件中需要作为 PHP 代码执行的任何代码都必须被包括在有效的 PHP 起始和结束标记之中。

  • 相关阅读:
    Linux
    bzoj 1834
    bzoj 1002 找规律(基尔霍夫矩阵)
    bzoj 1005 组合数学 Purfer Sequence
    bzoj 1601 最小生成树
    bzoj 1001 平面图转对偶图 最短路求图最小割
    bzoj 1192 二进制
    bzoj 1012 基础线段树
    bzoj 1044 贪心二分+DP
    bzoj 1011 近似估计
  • 原文地址:https://www.cnblogs.com/heyue0117/p/11827696.html
Copyright © 2011-2022 走看看