Pain 全世界最小最简单的PHP模板引擎 (普通版)


Posted in PHP onOctober 23, 2011

打包下载

Pain.php

<?php 
class Pain 
{ 
public $var=array(); 
public $tpl=array(); 
//this is the method to assign vars to the template 
public function assign($variable,$value=null) 
{ 
$this->var[$variable]=$value; 
} 
public function display($template_name,$return_string=false) 
{ 
//first find whether the tmp file in tmp dir exists. 
if(file_exists("tmp/temp_file.php")) 
{ 
unlink("tmp/temp_file.php"); 
} 
extract($this->var); 
$tpl_content=file_get_contents($template_name); 
$tpl_content=str_replace("{@", "<?php echo ", $tpl_content); 
$tpl_content=str_replace("@}", " ?>", $tpl_content); 
//create a file in the /tmp dir and put the $tpl_contentn into it, then 
//use 'include' method to load it! 
$tmp_file_name="temp_file.php"; 
//$tmp is the handler 
$tmp=fopen("tmp/".$tmp_file_name, "w"); 
fwrite($tmp, $tpl_content); 
include "tmp/".$tmp_file_name; 
} 
} 
?>

test.php
<?php 
require_once "Pain.php"; 
$pain=new Pain(); 
$songyu="songyu nb"; 
$zhangyuan="zhangyuan sb"; 
$pain->assign("songyu",$songyu); 
$pain->assign("zhangyuan",$zhangyuan); 
$pain->display("new_file.html"); 
?>

new_file.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>new_file</title> 
</head> 
<body> 
{@$songyu@}<br/> 
{@$zhangyuan@} 
</body> 
</html>
PHP 相关文章推荐
在mysql数据库原有字段后增加新内容
Nov 26 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
May 13 PHP
php的一个简单加密解密代码
Jan 14 PHP
php中替换字符串中的空格为逗号','的方法
Jun 09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
PHP实现适用于文件内容操作的分页类
Jun 15 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
php出租房数据管理及搜索页面
May 23 PHP
PHP7扩展开发教程之Hello World实现方法示例
Aug 03 PHP
PHP实现支持CURL字符串证书传输的方法
Mar 23 PHP
Laravel框架查询构造器简单示例
May 08 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
供参考的 php 学习提高路线分享
Oct 23 #PHP
PHP中的strtr函数使用介绍(str_replace)
Oct 20 #PHP
PHP中读写文件实现代码
Oct 20 #PHP
Array of country list in PHP with Zend Framework
Oct 17 #PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
Oct 17 #PHP
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 #PHP
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 #PHP
You might like
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
php异常处理方法实例汇总
2015/06/24 PHP
ThinkPHP模型详解
2015/07/27 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
PHP未登录自动跳转到登录页面
2016/12/21 PHP
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
javascript实现简单的全选和反选功能
2016/01/05 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
前端面试知识点目录一览
2019/04/15 Javascript
使用vue重构资讯页面的实例代码解析
2019/11/26 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
python @property的用法及含义全面解析
2018/02/01 Python
Python基础教程之利用期物处理并发
2018/03/29 Python
Python使用Pandas库实现MySQL数据库的读写
2019/07/06 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
基于python实现坦克大战游戏
2020/10/27 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
彪马日本官网:PUMA日本
2019/01/31 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
办理信用卡工作证明
2014/01/11 职场文书
保安拾金不昧表扬信
2014/01/15 职场文书
勤俭节约倡议书
2014/04/14 职场文书
学生未请假就回家检讨书
2014/09/22 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
小学数学教学随笔
2015/08/14 职场文书
小程序实现侧滑删除功能
2022/06/25 Javascript