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正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 PHP
smarty巧妙处理iframe中内容页的代码
Mar 07 PHP
探讨Hessian在PHP中的使用分析
Jun 13 PHP
PHP判断文章里是否有图片的简单方法
Jul 26 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
Mar 09 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
Mar 21 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
PHP5.6新增加的可变函数参数用法分析
Aug 25 PHP
PHP simplexml_load_string()函数实例讲解
Feb 03 PHP
PHP递归的三种常用方式
Feb 28 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
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
用htc组件制作windows选项卡
2007/01/13 Javascript
js 与或运算符 || && 妙用
2009/12/09 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
Jquery chosen动态设置值实例介绍
2013/08/08 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
2019/10/12 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
Python爬取国外天气预报网站的方法
2015/07/10 Python
星球大战与Python之间的那些事
2016/01/07 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
如何理解python中数字列表
2020/05/29 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
五年级语文教学反思
2014/01/30 职场文书
大学军训感想
2014/02/12 职场文书
运动会通讯稿150字
2014/02/15 职场文书
自查自纠工作总结
2014/10/15 职场文书
以权谋私检举信范文
2015/03/02 职场文书
学习十八大的感悟
2015/08/11 职场文书
2016年小学“感恩教师”主题队日活动总结
2016/04/01 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
向Spring IOC 容器动态注册bean实现方式
2022/07/15 Java/Android