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 相关文章推荐
echo(),print(),print_r()之间的区别?
Nov 19 PHP
常用的php对象类型判断
Aug 27 PHP
php将数据库中的电话号码读取出来并生成图片
Aug 31 PHP
基于PHP array数组的教程详解
Jun 05 PHP
对于PHP 5.4 你必须要知道的
Aug 07 PHP
php向js函数传参的几种方法
Aug 10 PHP
php获取字符串中各个字符出现次数的方法
Feb 23 PHP
PHP实现通过URL提取根域名
Mar 31 PHP
php htmlentities()函数的定义和用法
May 13 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
PHP环形链表实现方法示例
Sep 15 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
Sep 27 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 301转向实现代码
2008/09/18 PHP
处理php自动反斜杠的函数代码
2010/01/05 PHP
php下统计用户在线时间的一种尝试
2010/08/26 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
告诉大家什么是JSON
2008/06/10 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
vue项目如何刷新当前页面的方法
2018/05/18 Javascript
JS实现仿微信支付弹窗功能
2018/06/25 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
tensorflow 获取变量&打印权值的实例讲解
2018/06/14 Python
基于python历史天气采集的分析
2019/02/14 Python
python实现数据分析与建模
2019/07/11 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
Python列表切片常用操作实例解析
2020/03/10 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
python如何调用字典的key
2020/05/25 Python
python 爬虫请求模块requests详解
2020/12/04 Python
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
什么是View State?
2013/01/27 面试题
技校生自我鉴定范文
2013/09/26 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
贸易跟单员英文求职信
2014/04/19 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
人与自然观后感
2015/06/16 职场文书
入学证明
2015/06/23 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
如何理解python接口自动化之logging日志模块
2021/06/15 Python