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 相关文章推荐
header()函数使用说明
Nov 23 PHP
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
php设计模式 Factory(工厂模式)
Jun 26 PHP
PHP使用数组实现队列
Feb 05 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
PHP字符串的连接的简单实例
Dec 30 PHP
简单的php新闻发布系统教程
May 09 PHP
destoon出现验证码不显示时的紧急处理方法
Aug 22 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
Nov 27 PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 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和ACCESS写聊天室(六)
2006/10/09 PHP
php 文章采集正则代码
2009/12/28 PHP
深入PHP获取随机数字和字母的方法详解
2013/06/06 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
PHP模板解析类实例
2015/07/09 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
php基于单例模式封装mysql类完整实例
2016/10/18 PHP
php中this关键字用法分析
2016/12/07 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
PHP htmlspecialchars_decode()函数用法讲解
2019/03/01 PHP
JS 遮照层实现代码
2010/03/31 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
jquery插件推荐浏览器嗅探userAgent
2014/11/09 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
浅谈jQuery before和insertBefore的区别
2016/12/04 Javascript
深入浅析Node.js单线程模型
2017/07/10 Javascript
深入了解js原型模式
2019/05/30 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
[01:06] DOTA2英雄背景故事第三期之秩序法则光之守卫
2020/07/07 DOTA
windows下python安装小白入门教程
2018/09/18 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
Python 字符串、列表、元组的截取与切片操作示例
2019/09/17 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
Python实现FLV视频拼接功能
2020/01/21 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
python使用QQ邮箱实现自动发送邮件
2020/06/22 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
Python读取ini配置文件传参的简单示例
2021/01/05 Python
小学中秋节活动方案
2014/02/06 职场文书
护士求职信范文
2014/05/24 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
详解SQL报错盲注
2022/07/23 SQL Server
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android