- 3
- 0
- 约 5页
- 2018-03-25 发布于河南
- 举报
众所周知,PHP与其他脚本语言一样,属于弱变量类型的语言。同时PHP本身也是通过C语言来实现。本文 主要介绍PHP内部是如何实现弱变量类型的,并且据此分析在PHP开发中需要注意的一些使用技术。其中会重点分析PHP中的copy on write机制和引用相关方面的话题。 本章节属于《深入PHP使用技巧》的第一部分。
如何实现弱变量
在了解PHP实现弱变量类型之前,可以先思考下:如何通过C/C++来实现弱变量类型的效果呢 这个问题我在BIT培训课上基本上有两种答案:
方法1:采用C++的继承机制。首先定义一个基础类型
Class Var 然后基于Var,派生出不同的子类型IntVar/FloatVar/StringVar等等。
方法2:基于C语言的 Struct。其中一个字段用于标识类型,另外一个字段用于存储数据,由于数据要是各种类型,所以通常需要采用指针
比如:
struct var Int type;
Void *data; ;
两种思路本身并没有太大区别,也都基本上能够满足需求。在PHP中采用了第二种思路,并且做了比较多的优化。在PHP中,所有的变量都会对应同一种类型zval,其中zval也就是struct _zval_struct,具体定义如下:
typedef union _zvalue_value long lval; /* long
您可能关注的文档
- 广东省国产工业软件和行业应用解决方案摸底调查问卷(一).doc
- 贵州省第五期中小学教师教育技术培训模块阅读测试答案.doc
- 滚塑在国内外的发展001.doc
- 国际贸易论文题目集.doc
- 国立中坜高中校园网路发展现况.ppt
- 国贸课件02-函电.ppt
- 国网信通中电飞华招聘需求一览表.doc
- 过程控制程序10.doc
- 过程控制程序OK.doc
- 过程控制计划.doc
- 2024-2025学年湖南省邵阳市新宁县回龙寺镇人教版一年级下册期中测试数学试卷.docx
- 2024-2025学年山东省德州市平原县王杲铺中小、王凤楼中小、腰站镇中小青岛版一年级下册3月月考数学试卷.docx
- 第四单元 课题3 物质组成的表示-初中化学新教材预习学案(人教版2024九年级上册).docx
- 2024-2025学年山东省济宁市梁山县人教版一年级下册期中测试数学试卷.docx
- 2024-2025学年山东省德州市德州经济技术开发区长河小学等校青岛版一年级下册期中考试数学试卷.docx
- 2026《基于国产开源单片机GD32VF103的输变电设备物联网传感器设计》8300字.docx
- 2024年中考道德与法治真题完全解读(北京卷).docx
- 2026《基于机器视觉识别的工件边缘曲线重构方法分析》9000字.docx
- 课时9.4 物体的浮与沉【一大题型】八年级全一册物理(沪科版2024).docx
- 2024-2025学年广东省江门市开平市人教版一年级下册期中综合素养评价数学试卷.docx
原创力文档

文档评论(0)