Tag: 内核
29 total results found
[ PHP 内核与扩展开发系列] Array 与 HashTable:数组与链表
我们在评选各种数据结构时,往往会考虑我们需要处理的数据规模以及需要的性能。下面让我们简要的看一看 C 语言中的数组和链表。 数组...
[ PHP 内核与扩展开发系列] 函数的参数:arginfo 与类型绑定
在前面的章节中我们已经介绍过 arginfo 了,下面我们看一下如何通过其实现类型绑定,但这个特性只能在 Zend Engine 2...
[ PHP 内核与扩展开发系列] 函数的参数:zend_parse_paramenters
基本参数 最简单的获取函数调用者传递过来的参数便是使用 zend_parse_parameters() 函数。 zend_pa...
[ PHP 内核与扩展开发系列] 函数返回值:引用参数与函数的执行结果
一个函数的执行结果要返回给调用者,除了使用 return 功能,还有一种办法,那就是以引用的形式传递参数,然后在函数内部修改这个参数...
[ PHP 内核与扩展开发系列] 函数返回值:一个特殊的参数 —— return_value
引入 return_value PHP 语言中函数的返回值是通过 return 来完成的,就像下面的程序: <?php ...
[ PHP 内核与扩展开发系列] 第一个 PHP 扩展:编写函数
前面我们已经生成好了一份扩展框架,但它是没有什么实际作用。一个扩展的作用可大了去了,既可以操作 PHP 中的变量、常量,还可以定义函...
[ PHP 内核与扩展开发系列] 第一个 PHP 扩展:扩展的基本结构
每一个 PHP 扩展都至少需要两个文件:一个配置文件和一个源文件。配置文件用来告诉编译器应该编译哪几个文件,以及编译本扩展是否需要的...
[ PHP 内核与扩展开发系列] 内存管理 —— 引用计数
对于 PHP 这种需要同时处理多个请求的程序来说,申请和释放内存的时候应该慎之又慎,一不小心便会酿成大错。另一方面,除了要安全申请和...
[ PHP 内核与扩展开发系列] 内存管理 —— 内存分配与释放
在 PHP 里,我们可以定义字符串变量,比如 <?php $str="hello";?>,$str 这个字符串变量可以被...
[ PHP 内核与扩展开发系列] 变量在内核中的实现 —— 类型转化
现在我们已经可以从符号表中获取用户在 PHP 语言里定义的变量了,是时候该做点其它事情了,举个例子,比如给它来个类型转换。想想 C ...
[ PHP 内核与扩展开发系列] 变量在内核中的实现 —— PHP 变量的创建、存储和检索
创建变量 我们已经知道 PHP 变量在内核中其实是通过 zval 结构来实现的,也初步了解如何设置一个 zval 结构的类型和值。...
[ PHP 内核与扩展开发系列] 变量在内核中的实现 —— 变量的值
PHP 内核提供了三个基础宏来方便我们对变量的值进行操作,这几个宏同样以 Z_ 开头,并且 P 结尾和PP 结尾的同上一节中的宏一样...
[ PHP 内核与扩展开发系列] 变量在内核中的实现 —— 变量类型
所有的编程语言都要提供一种数据的存储与检索机制,PHP 也不例外。其它语言大都需要在使用变量之前先定义,并且它的类型也是无法再次改变...
[ PHP 内核与扩展开发系列] PHP 生命周期 —— 从 SAPI 开始
声明:本系列文章整理自GitHub项目PHP扩展开发及内核应用,并根据PHP最新代码对其进行适当调整和校对。适用于有 C 语言基础的...