深入php内核,从底层c语言剖析php实现原理
 
这是它的目录:
    1. PHP的生命周期
      1. 让我们从SAPI开始
      2. PHP的启动与终止
      3. PHP的生命周期
      4. 线程安全
      5. 小结
    2. PHP变量在内核中的实现
      1. 变量的类型
      2. 变量的值
      3. 创建PHP变量
      4. 变量的存储方式
      5. 变量的检索
      6. 类型转换
      7. 小结
    3. 内存管理
      1. 内存管理
      2. 引用计数
      3. 总结
    4. 配置编译环境
      1. 编译前的准备
      2. PHP编译前的config配置
      3. Unix/Linux平台下的编译
      4. 在Win32平台上编译PHP
      5. 小结
    5. 第一个扩展
      1. 一个扩展的基本结构
      2. 编译我们的扩展
      3. 静态编译
      4. 编写函数
      5. 小结
    6. 函数的返回值
      1. 一个特殊的参数:return_value
      2. 引用与函数的执行结果
      3. 小结
    7. 函数的参数
      1. zend_parse_parameters
      2. Arg Info 与类型绑定
      3. 小结
    8. Array与HashTable
      1. 数组(C中的)与链表
      2. 操作HashTable的API
      3. 在内核中操作PHP语言中数组
      4. 小结
    9. PHP中的资源类型
      1. 复合类型的数据——资源
      2. Persistent Resources
      3. 资源自有的引用计数
      4. 小结
    10. PHP中的面向对象(一)
      1. zend_class_entry
      2. 定义一个类
      3. 定义一个接口
      4. 类的继承与接口的实现
      5. 小结
    11. PHP中的面向对象(二)
      1. 生成对象的实例与调用方法
      2. 读写对象的属性
      3. 小结
    12. 启动与终止的那点事
      1. 关于生命周期
      2. MINFO与phpinfo
      3. 常量
      4. PHP扩展中的全局变量
      5. PHP语言中的超级全局变量
      6. 小结
    13. ini配置文件
      1. 读写ini配置
      2. 小结
    14. 流式访问
      1. 流的概览
      2. 打开与读写流
      3. Static Stream Operations
      4. 小结
    15. 流的实现
      1. PHP Streams的本质
      2. 流的封装——wrapper
      3. 实现wrapper
      4. Manipulation
      5. 状态与属性读取
      6. 小结
    16. 有趣的流
      1. 流的上下文
      2. 流的过滤器
      3. 小结
    17. 配置和链接
      1. Autoconf
      2. 库的查找
      3. 强制模块依赖
      4. Speaking the Windows Dialect
      5. 小结
    18. 扩展生成器
      1. ext_skel生成器
      2. PECL_Gen生成器
      3. 小结
    19. 设置宿主环境
      1. 嵌入式SAPI
      2. 构建并编译一个宿主应用
      3. 通过嵌入包装重新创建cli
      4. 老技术新用
      5. 小结
    20. 高级嵌入式
      1. 回调到php中
      2. 错误处理
      3. 初始化php
      4. 覆写INI_SYSTEM和INI_PERDIR选项
      5. 捕获输出
      6. 同时扩展和嵌入
      7. 小结

深入php内核,从底层c语言剖析php实现原理的更多相关文章

  1. Linux系统调用怎么和内核或底层驱动交互的

    学习Linux系统下驱动程序开发已有大半年时间,心中一直有个疑惑:那就是诸如open.write.read等系统调用是怎么和内核或底层驱动建立起联系的呢?今天将自己的一些粗略的理解总结如下.      ...

  2. 关于linux内核用纯c语言编写的思考

    在阅读linux2.6 版本内核的虚拟文件系统和驱动子系统的时候,我发现内核纯用c语言编写其实也是有一点不方便,特别是内核中大量存在了对象的概念,比如说文件对象,描述起来使用对象描述,但是对象在c语言 ...

  3. 深入剖析Linux IO原理和几种零拷贝机制的实现

    深入剖析Linux IO原理和几种零拷贝机制的实现 来源 https://zhuanlan.zhihu.com/p/83398714 零壹技术栈      公众号[零壹技术栈] 前言 零拷贝(Zero ...

  4. 全面剖析Redis Cluster原理和应用

    全面剖析Redis Cluster原理和应用 1.Redis Cluster总览 1.1 设计原则和初衷 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最 ...

  5. Linux内核设计(第二周)——操作系统工作原理

    Linux内核设计(第二周)--操作系统工作原理 by苏正生 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

  6. 大神是如何学习 Go 语言之 Channel 实现原理精要

    转自: https://mp.weixin.qq.com/s/ElzD2dXWeldYkJmVVY6Djw 作者Draveness Go 语言中的管道 Channel 是一个非常有趣的数据结构,作为语 ...

  7. 深入剖析Sgementation fault原理

    深入剖析Sgementation fault原理 前言 我们在日常的编程当中,我们很容易遇到的一个程序崩溃的错误就是segmentation fault,在本篇文章当中将主要分析段错误发生的原因! S ...

  8. 老李推荐:第6章8节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-小结

    老李推荐:第6章8节<MonkeyRunner源码剖析>Monkey原理分析-事件源-事件源概览-小结   本章我们重点围绕处理网络过来的命令的MonkeySourceNetwork这个事 ...

  9. 老李推荐:第6章7节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-注入按键事件实例

    老李推荐:第6章7节<MonkeyRunner源码剖析>Monkey原理分析-事件源-事件源概览-注入按键事件实例   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜 ...

随机推荐

  1. Spark分析之MemoryStore

    private case class MemoryEntry(value: Any, size: Long, deserialized: Boolean) class MemoryStore(bloc ...

  2. ECCV 2018 | 旷视科技提出统一感知解析网络UPerNet,优化场景理解

    全球计算机视觉三大顶会之一 ECCV 2018(European Conference on Computer Vision)即将于 9 月 8 -14 日在德国慕尼黑拉开帷幕.届时,旷视首席科学家孙 ...

  3. solr亿万级索引优化实践(四)

    本篇是这个系类的最后一篇,但优化方案不仅于此,需要后续的研究与学习,本篇主要从schema设计的角度来做一些实践. schema.xml 这个文件的作用是定义索引数据中的域的,包括域名称,域类型,域是 ...

  4. ORM Nhibernate框架在项目中的配置

    在项目中使用 Nhibernet 时,一定要将 配置文件 .xml  编译方式设置为 嵌入式资源,否则在运行项目时就会出现错误. 以下是hibernate.cfg.xml 的配置,在配置中使用的是 M ...

  5. Python之模块(二)

    1.subprocess模块 2.loggin模块 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日 ...

  6. corejava-内容梳理

  7. Delphi 变体数组 Dataset Locate 查找定位

    Format 函数 Delphi 支持“开参数”和动态数组,变体数组,使用时的语法类似 Delphi 中的集合:采用两个方括号把不同类型的变量括起来(这太方便了啊),也可以采用声明一个 TVarRec ...

  8. myeclipse中解决 java heap space/gc overhead limit exceeded eclipse 的方法

    在Eclipse打包的时候报错:gc overhead limit exceeded eclipse 原因是Eclipse默认配置内存太小须要更改安装Eclipse目录下的eclipse.ini文件. ...

  9. 用yield 实现协程 (包子模型)

    协程是一种轻量级的线程 无需线程上下级的开销, 所有的协程都在一个线程内执行 import time def consumer(name): print('%s is start to eat bao ...

  10. Star打印机数据解密

    通过串口调试工具 抓取到的16进制文本; 如下 然后打开我们的文档,查看命令数据内容. 详情请密我QQ:1161588342  说明加好友原因