品易云推流 关闭
文章详情页
文章 > PHP教程 > php资源类型变量是什么

php资源类型变量是什么

头像

小妮浅浅

2021-06-09 11:29:52971浏览 · 0收藏 · 0评论

1、概念

资源类型变量是PHP中最复杂的变量,也是复合型结构。PHP的zval可以表示广泛的数据类型,但是很难充分说明自定义的数据类型。由于这些复合结构没有有效的描绘,也没有办法使用传统的操作符号。为了解决这个问题,本质上只需要任意的标志引用指针,这种方法被称为资源。

2、使用说明

(1)注册:关于定制的数据类型,我想把它作为资源。首先需要注册,zend分配全球唯一的标志。

(2)获得资源变量:对于资源,zend维持了id->实际数据的hash_tale。关于resource,zval只记录了id。fetch时,通过id在hash_table中找到具体值返回。

(3)资源销毁:资源的数据类型多种多样。Zend本身没有办法销毁它。因此,用户需要在注册资源时提供销毁函数。unset资源时,zend调用相应的函数完成分析结构。同时从全局资源表中删除。

(4)资源可以长期停留,不仅在所有引用的变量超过作用域后,还在一个请求结束后产生新的请求。这些资源被称为持久资源。除非特意销毁,否则它们将继续存在SAPI的整个生命周期。在许多情况下,持久资源可以在一定程度上提高性能。例如,我们常见的mysql_pconnect,持续资源通过pemalloc分配内存,请求结束时不会被释放。对于zend来说,两者本身是没有区别的。

以上就是php资源类型变量的介绍,希望对大家有所帮助。更多php学习指路:php教程

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图