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 相关文章推荐
xml+php动态载入与分页
Oct 09 PHP
新版mysql+apache+php Linux安装指南
Oct 09 PHP
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
PHP中最容易忘记的一些知识点总结
Apr 28 PHP
Php header()函数语法及使用代码
Nov 04 PHP
生成随机字符串和验证码的类的PHP实例
Dec 24 PHP
PHP文件下载实例代码浅析
Aug 17 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
PHP实现二维数组中的查找算法小结
Jun 09 PHP
PHP常用函数之格式化时间操作示例
Oct 21 PHP
让你的PHP,APACHE,NGINX支持大文件上传
Mar 09 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+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
p5.js实现简单货车运动动画
2019/10/23 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
js 函数性能比较方法
2020/08/24 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
2020/11/09 Javascript
Python简单日志处理类分享
2015/02/14 Python
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
浅谈python中的正则表达式(re模块)
2017/10/17 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
python匿名函数用法实例分析
2019/08/03 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
python判断是空的实例分享
2020/07/06 Python
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
监理资料员岗位职责
2014/01/03 职场文书
超市促销活动方案
2014/03/05 职场文书
先进事迹报告会主持词
2014/04/02 职场文书
大学社团计划书
2014/05/01 职场文书
安全宣传标语
2014/06/10 职场文书
绿色小区申报材料
2014/08/22 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
职称评定个人总结
2015/03/05 职场文书
会计稽核岗位职责
2015/04/13 职场文书
信用卡工作证明范本
2015/06/19 职场文书
军训新闻稿范文
2015/07/17 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL