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实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
使用php计算排列组合的方法
Nov 13 PHP
Linux中用PHP判断程序运行状态的2个方法
May 04 PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
Jan 07 PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 PHP
php计算多维数组中所有值总和的方法
Jun 24 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
thinkPHP分组后模板无法加载问题解决方法
Jul 12 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 PHP
PHP类相关知识点实例总结
Sep 28 PHP
PHP环境搭建(php+Apache+mysql)
Nov 14 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 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
2014/01/14 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
Node.js的基本知识简单汇总
2016/09/19 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
通过js修改input、select默认字体颜色
2017/04/19 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
JS实现快递单打印功能【推荐】
2018/06/21 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
js实现简单五子棋游戏
2020/05/28 Javascript
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
python使用分治法实现求解最大值的方法
2015/05/12 Python
Python基本语法经典教程
2016/03/11 Python
Python实现购物车功能的方法分析
2017/11/10 Python
python reduce 函数使用详解
2017/12/05 Python
使用python爬虫获取黄金价格的核心代码
2018/06/13 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
Django logging配置及使用详解
2019/07/23 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
python调用win32接口进行截图的示例
2020/11/11 Python
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
意大利自行车商店:Cingolani Bike Shop
2019/09/03 全球购物
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
农救科工作职责
2013/11/27 职场文书
工艺员岗位职责
2014/02/11 职场文书
会计的岗位职责
2014/03/15 职场文书
中秋节主持词
2014/04/02 职场文书
检讨书范文
2015/01/27 职场文书
家长对孩子的寒假评语
2015/10/09 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL