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 和 MySQL 基础教程(三)
Oct 09 PHP
使用数据库保存session的方法
Oct 09 PHP
浅析php中抽象类和接口的概念以及区别
Jun 27 PHP
kohana框架上传文件验证规则写法示例
Jul 14 PHP
php禁止某ip或ip地址段访问的方法
Feb 25 PHP
php实现以只读方式打开文件的方法
Mar 16 PHP
PHP获取音频文件的相关信息
Jun 22 PHP
php处理带有中文URL的方法
Jul 11 PHP
PHP中类属性与类静态变量的访问方法示例
Jul 13 PHP
php arsort 数组降序排序详细介绍
Nov 17 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
PHP反射实际应用示例
Apr 03 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 preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
【消息提示组件】,兼容IE6/7&amp;&amp;FF2
2007/09/04 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
详谈javascript异步编程
2016/02/21 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
详解vue axios二次封装
2018/07/22 Javascript
django使用channels2.x实现实时通讯
2018/11/28 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
vue 实现click同时传入事件对象和自定义参数
2021/01/29 Vue.js
[00:50]深扒TI7聊天轮盘语音出处6
2017/05/11 DOTA
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
用yum安装MySQLdb模块的步骤方法
2016/12/15 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
Timex手表官网:美国运动休闲手表品牌
2017/01/28 全球购物
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
银行门卫岗位职责
2013/12/29 职场文书
公共机构节能宣传周活动总结
2014/07/09 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
2014年底个人工作总结
2015/03/10 职场文书
税务会计岗位职责
2015/04/02 职场文书
vue 实现上传组件
2021/05/31 Vue.js