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 相关文章推荐
收集的php编写大型网站问题集
Mar 06 PHP
php cout&amp;lt;&amp;lt;的一点看法
Jan 24 PHP
生成ubuntu自动切换壁纸xml文件的php代码
Jul 17 PHP
PHP实现的封装验证码类详解
Jun 18 PHP
PHP捕获Fatal error错误的方法
Jun 11 PHP
PHP实现文件下载断点续传详解
Oct 15 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
php检查字符串中是否有外链的方法
Jul 29 PHP
php获取远程文件的内容和大小
Nov 03 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 PHP
php探针使用原理和技巧讲解
Sep 17 PHP
laravel使用redis队列实例讲解
Mar 23 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
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
PHP常量及变量区别原理详解
2020/08/14 PHP
用js实现随机返回数组的一个元素
2007/08/13 Javascript
js可突破windows弹退效果代码
2008/08/09 Javascript
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
js实现两点之间画线的方法
2015/05/12 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
使用canvas进行图像编辑的实例
2017/08/29 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
跟老齐学Python之数据类型总结
2014/09/24 Python
全面理解Python中self的用法
2016/06/04 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Python编程中对super函数的正确理解和用法解析
2016/07/02 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
python多线程并发及测试框架案例
2019/10/15 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
梅西百货官网:Macy’s
2020/08/04 全球购物
服装行业创业计划书范文
2014/02/05 职场文书
个人借条范本
2015/05/25 职场文书
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis