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中调用JAVA
Oct 09 PHP
使PHP自定义函数返回多个值
Nov 26 PHP
ADODB的数据库封包程序库
Dec 31 PHP
php下检测字符串是否是utf8编码的代码
Jun 28 PHP
使ecshop模板中可引用常量的实现方法
Jun 02 PHP
Thinkphp的volist标签嵌套循环使用教程
Jul 08 PHP
php清除和销毁session的方法分析
Mar 19 PHP
PHP预定义变量9大超全局数组用法详解
Apr 23 PHP
PHP实现截取中文字符串不出现?号的解决方法
Dec 29 PHP
PHP输出XML格式数据的方法总结
Feb 08 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
PHP实现的AES 128位加密算法示例
Sep 16 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
如何开发一个虚拟域名系统
2006/10/09 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
javascript 学习笔记(一)DOM基本操作
2011/04/08 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
jQuery实现简单的DIV拖动效果
2016/02/19 Javascript
纯JS实现轮播图
2017/02/22 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
在微信小程序中使用图表的方法示例
2019/04/25 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
Vue看了就会的8个小技巧
2021/01/21 Vue.js
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
Python实现学生成绩管理系统
2020/04/05 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
anaconda如何查看并管理python环境
2019/07/05 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
美国蔬菜和植物种子公司:Burpee
2017/02/01 全球购物
蹦床仓库:Trampoline Warehouse
2018/12/06 全球购物
三年级科学教学反思
2014/01/29 职场文书
药剂专业个人求职信范文
2014/04/29 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
学雷锋倡议书
2015/01/19 职场文书
公积金具结保证书
2015/05/11 职场文书
实施意见格式范本
2015/06/05 职场文书
js基于div丝滑实现贝塞尔曲线
2022/09/23 Javascript