PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例


Posted in PHP onMay 23, 2018

本文实例讲述了PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能。分享给大家供大家参考,具体如下:

这里模拟tp框架模板变量分配与赋值操作。

extract($arr);  //extract  的作用:从数组中将变量导入到当前的符号表,键做变量,值做值!
compact();  //  — 建立一个数组,包括变量名和它们的值

class base{
  public $array;
  public $key;
  public $val;
  public function assign($key,$val){
    if(array($val)){
      $this->array["$key"] = $val;
    }else{
      $this->array["$key"] = compact($val);
    }
  }
  public function display($tpl){
    $this->assign($this->key,$this->val);
    extract($this->array);
    if(file_exists($tpl)){ //模板存在就加载文件。
      include $tpl;
    }
  }
}
class indexcontroller extends base{
  public function index(){
    $arr = array('a'=>'aaaaaaa','b'=>array('a'=>'111111','b'=>'22222','c'=>'3333'),'c'=>'ccccccc','d'=>'dddddd','e'=>'eeeee');
    $str = '我是字符串';
    $this->assign('arr',$arr);
    $this->assign('str',$str);
    $this->display('index.html');
  }
}
$base = new base;
$base->index();

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php图片验证码代码
Mar 27 PHP
国外十大最流行的PHP框架排名
Jul 04 PHP
PHP 获取文件权限函数介绍
Jul 11 PHP
PHP临时文件的安全性分析
Jul 04 PHP
php实现的双向队列类实例
Sep 24 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
thinkphp实现like模糊查询实例
Oct 29 PHP
php程序总是提示验证码输入有误解决方案
Jan 07 PHP
php解析http获取的json字符串变量总是空白null
Mar 02 PHP
Smarty日期时间操作方法示例
Nov 15 PHP
iis6手工创建网站后无法运行php脚本的解决方法
Jun 08 PHP
php ajax数据传输和响应方法
Aug 21 PHP
PHP工厂模式简单实现方法示例
May 23 #PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 #PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 #PHP
PHP实现的mysql读写分离操作示例
May 22 #PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 #PHP
PHP+MariaDB数据库操作基本技巧备忘总结
May 21 #PHP
PhpStorm本地断点调试的方法步骤
May 21 #PHP
You might like
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
php生成zip压缩文件的方法详解
2013/06/09 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
使用dump函数,给php加断点测试
2013/06/25 PHP
javascript与CSS复习(二)
2010/06/29 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
轻量级的原生js日历插件calendar.js使用指南
2015/04/28 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
2016/08/26 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
js实现鼠标点击飘爱心效果
2020/08/19 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
Python3之文件读写操作的实例讲解
2018/01/23 Python
Python全排列操作实例分析
2018/07/24 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
Django结合ajax进行页面实时更新的例子
2019/08/12 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
Python代码注释规范代码实例解析
2020/08/14 Python
python 装饰器的实际作用有哪些
2020/09/07 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
什么是servlet
2012/05/08 面试题
幼儿园小班个人总结
2015/02/12 职场文书
质量保证书格式模板
2015/02/27 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
python实现自动化群控的步骤
2021/04/11 Python