美文网首页
动态语言静态化

动态语言静态化

作者: 你与时光终会散 | 来源:发表于2019-07-08 17:33 被阅读0次

一、什么是动态语言静态化

将现有的PHP等动态语言的逻辑代码生成为静态HTML文件,用户访问动态脚本重定向到静态的HTML文件的过程。
对实时性不高的页面

二、为什么要静态化

  • 动态脚本通常会做逻辑计算和数据查询,访问量越大,服务器压力越大
  • 访问量大时可能造成CUP负载过高,数据库服务器压过大
  • 静态化可以减低逻辑处理压力,降低数据库服务器查询压力

三、静态化的实现方式

使用模板引擎smarty
利用ob系列函数

    ob_start() 打开输出控制缓存
    ob_get_contents() 返回输出缓冲区内容
    ob_clean() 清空输出缓冲区
    ob_end_flush() 冲刷出(送出)输出缓冲区内容并关闭缓冲
  
    ob_start()
    输出到页面的HTML代码
    ob_get_contents()
    ob_end_flush()
    fopen()写入

可以判断文件的inode修改时间,判断是否过期,使用filectime函数

<?PHP
$id = $_GET['id'] ?? '';
$cache_name = md5(__FILE__) . '-' . $id . '.html';
$cache_lifetime = 3600;
if (filectime(__FILE__) <= filectime($cache_name)
    && file_exists($cache_name)
    && filectime($cache_name) + $cache_lifetime > time())
{
    include $cache_name;
    exit;
}
    ob_start();
?>
    <b>THIS IS MY SCRIPT123 id=<?=$id?></b>

<?php
$content = ob_get_contents();
ob_end_flush();
$handle = fopen($cache_name, 'w');
fwrite($handle, $content);
fclose($handle);

相关文章

  • face35 动态语言静态化

    动态语言静态化 什么是动态语言静态化 将现有php等动态语言的逻辑代码生成为静态html文件,用户访问动态脚本重定...

  • 动态语言静态化

    一、什么是动态语言静态化 将现有的PHP等动态语言的逻辑代码生成为静态HTML文件,用户访问动态脚本重定向到静态的...

  • 编译性语言、解释性语言、脚本语言、动态语言、静态语言、动态类型语

    编译型语言 解释型语言 脚本语言 动态语言 静态语言 静态类型语言 动态类型语言 解释以及区别

  • Objective-C 是不是动态语言 ?

    一、动态语言和静态语言的概念 首先,我们了解一个概念:动态语言和静态语言的概念; 静态:编译期间动态:运行期间 动...

  • 动态编程语言和静态编程语言

    动态编程语言:python等 静态编程语言:java等 动态编程语言和静态编程语言区别: 动态编程语言的变量并不是...

  • Python 语法(一)

    1、Python 语言特性 1.1 Python 是静态还是动态?强还是弱类型 动态强类型语言 动态还是静态:指...

  • 编程语言类型(动态语言,静态语言及其它)

    动态语言: 静态语言: 动态类型语言: 静态类型语言: 强类型语言: 弱类型语言: 计算机只能理解机器码,所有的高...

  • python面试题

    python语言特性 python是静态还是动态类型?是强类型还是弱类型? 动态强类型语言 动态还是静态指的是编译...

  • javaSE回顾_05

    数组: 静态初始化: //静态初始化 int[] a = {1,2,3}; 动态初始化: //动态初始化 int[...

  • iOS runtime详解一

    RunTime是什么? 众所周知OC是一门高级编程语言,也是一门动态语言。有动态语言那也就有静态语言,静态语言--...

网友评论

      本文标题:动态语言静态化

      本文链接:https://www.haomeiwen.com/subject/miuahctx.html