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 相关文章推荐
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
Mar 27 PHP
PHP获取数组中某元素的位置及array_keys函数应用
Jan 29 PHP
分享一段PHP制作的中文拼音首字母工具类
Dec 11 PHP
php生成唯一的订单函数分享
Feb 02 PHP
php递归删除指定文件夹的方法小结
Apr 20 PHP
php实现转换ubb代码的方法
Jun 18 PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 PHP
PHP数组常用函数实例小结
Aug 20 PHP
php实现单笔转账到支付宝功能
Oct 09 PHP
PHP DB 数据库连接类定义与用法示例
Mar 11 PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 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将会员数据导入到ucenter的代码
2010/07/18 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
PHP实现文件上传与下载
2020/08/28 PHP
laravel中Redis队列监听中断的分析
2020/09/14 PHP
2010年最佳jQuery插件整理
2010/12/06 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
选择器中含有空格在使用示例及注意事项
2013/07/31 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
JavaScript 中Date对象的格式化代码方法汇总
2017/09/06 Javascript
详解单页面路由工程使用微信分享及二次分享解决方案
2019/02/22 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
python 高效去重复 支持GB级别大文件的示例代码
2018/11/08 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
Django的models中on_delete参数详解
2019/07/16 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
2020/02/20 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
C#笔试题和英文面试题
2013/02/07 面试题
库房主管岗位职责
2013/12/31 职场文书
党员的自我评价范文
2014/01/02 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
2014领导班子正风肃纪思想汇报
2014/09/18 职场文书
七年级作文之英语老师
2019/10/28 职场文书
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers