New Features from C++20 Release

I recently did a quick study of the new features introduced in C++20, and I’d like to summarize what I’ve learned here.Core Languages Enhancementconstinit & consteval & enhanced constexpThe above three keywords enable code to be evaluated or initialized at compile time.The main goal of these keywords, from my perspective, are shown as followingconstiniensure deterministic initialization of glob... Read More

PHP Internals Book 中文版 – Zvals – 基础结构

基础结构一个 zval(“Zend value”的缩写)代表一个任意类型的 PHP 变量。所以,它很可能是 PHP 中最重要的数据结构,同时你将会频繁地使用它。本章节讲述zvals的基础概念及其使用方法。类型和值每一个 zval 都会存储某个值和其对应的类型。这点非常重要,因为 PHP 是一门动态类型语言,所以变量的类型只有当运行时才会确定,并不是在编译时就能够确定。此外,zval 的类型在其生命周期是可以改变的,所以如果这个 zval 在最初存储了一个整形,那么在之后的某个时间点他也可能会存储了一个字符串。 类型是存储在一个整形的标签中(一个 unsigned char 类型的变量)。它有 8 中类型的值,分别对应着 PHP 中的 8 中变量类型。这些值可以用诸如 IS_TYPE 形式的常量来使用。比如:IS_NULL 对应 null 类型,IS_STRING 对应字符串类型。真实的值是存储在一个联合体中,如下所示... Read More

PHP Internals Book 中文版 – Zvals

Zval本章节的主题为用来表达 PHP 变量的 zval 数据结构。我们将会围绕 zvals 的概念和如何在扩展开发中使用两方面来进行阐述。目录基础结构类型和值访问宏赋值内存管理值语义和引用语义引用计数和写时复制分配并初始化 zval管理引用计数和 zval 销毁复制 zval分离 zval类型转换和操作符基础操作符比较类型转换 Read More

PHP Internals Book 中文版

你看到的是 PHP 内核中文版,翻译自 PHP Internals Book。为什么要翻译对技术的饥渴对英语的热爱方便汉语作为母语的人学习交流官方网站PHP Internals BooGithub(更新最快https://github.com/huxiaoxu2019/php-internals-book-in-chines关于作者Hu Xiaox内容目录IntroductioUsing the PHP build systeBuilding PHBuilding PHP extensionCreating PHP extensionZvalBasic structurMemory managemenCasts and operationImplementing functionHashtableBasic structurHashtable APSymtable and array AP... Read More