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 相关文章推荐
PHP4中实现动态代理
Oct 09 PHP
粗略计算在线时间,bug:ip相同
Dec 09 PHP
php判断输入不超过mysql的varchar字段的长度范围
Jun 24 PHP
深入php define()函数以及defined()函数的用法详解
Jun 05 PHP
destoon实现商铺管理主页设置增加新菜单的方法
Jun 26 PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 PHP
Java中final关键字详解
Aug 10 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
PHP获取input输入框中的值去数据库比较显示出来
Nov 16 PHP
php获取linux命令结果的实例
Mar 13 PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 PHP
PHP实现打包下载文件的方法示例
Oct 07 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
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
JavaScript 的继承
2011/10/01 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
在jquery中combobox多选的不兼容问题总结
2013/12/24 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
jquery实现相册一下滑动两次的方法
2015/02/09 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
Vue.js实现数据响应的方法
2018/08/13 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
Python下的twisted框架入门指引
2015/04/15 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
服务行业演讲稿
2014/09/02 职场文书
解除劳动合同证明书
2014/09/26 职场文书
教导主任个人总结
2015/03/03 职场文书