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 中的类
Oct 09 PHP
综合图片计数器
Oct 09 PHP
PHP 和 MySQL 基础教程(一)
Oct 09 PHP
PHP 引用文件技巧
Mar 02 PHP
php文件上传的简单实例
Oct 19 PHP
如何让CI框架支持service层
Oct 29 PHP
Yii中Model(模型)的创建及使用方法
Dec 28 PHP
浅析Yii2缓存的使用
May 10 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 PHP
PHP设计模式之工厂模式实例总结
Sep 01 PHP
PHP 使用二进制保存用户状态的实例
Jan 29 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
PHP数组实例详解
2016/06/26 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
动态读取JSON解析键值对的方法
2014/06/03 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
Angularjs实现搜索关键字高亮显示效果
2017/01/17 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
玩转Koa之koa-router原理解析
2018/12/29 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
python使用PythonMagick将jpg图片转换成ico图片的方法
2015/03/26 Python
Python六大开源框架对比
2015/10/19 Python
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
Python 循环语句之 while,for语句详解
2018/04/23 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
python实现文件的备份流程详解
2019/06/18 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
北大研究生linux应用求职信
2013/10/29 职场文书
行政人员岗位职责
2013/12/08 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
学校工作推荐信范文
2014/07/11 职场文书
商务代表岗位职责
2015/02/15 职场文书
2016天猫双十一广告语
2016/01/28 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python