/php-src-analysis

PHP源码分析注解。

GNU General Public License v3.0GPL-3.0

php-src-analysis

PHP源码分析注解。

进度log
Date 解决点
// //

PHP 源代码分析目录

  1. 第一章 构建系统 准备工具、库及需要具备的基础知识;

  2. ​ 如何编译不同平台的版本?编译时的各个选项是什么含义?

  3. ​ 如何创建一个 PHP 扩展/模块?如何创建一个 Zend 扩展?

  4. ​ 如何调试 PHP?如何调试 PHP/Zend 扩展?

  5. 第二章 PHP 与 SAPI 的生命周期 脚本的运行周期

  6. ​ 模块/脚本的起始与终止函数;

  7. ​ PHP SAPI 协议;

  8. ​ 嵌入式 PHP 设计。

  9. 第三章 内存管理 Zend 的内存管理器框架;

  10. ​ 内存申请与释放流程,垃圾回收;

  11. ​ 持久化(persistence)

  12. 第四章 线程安全 TSRM

  13. ​ 我是否该启用 ZTS?各有什么优缺点?

  14. ​ 如何构建一个 ZTS 的程序/扩展?

  15. 第五章 变量与常量 PHP 中的数据类型。

  16. ​ 变量、常量与静态变量。

  17. ​ 引用计数机制;

  18. ​ 资源的创建与回收;

  19. ​ 未来字符串的 UNICODE 支持、JIT 支持。

  20. 第六章 函数 函数的内部布局;

  21. ​ 函数的定义;

  22. ​ 如何获取函数的参数。可选参数、参数默认值;

  23. ​ 函数的返回值;

  24. 第七章 类与对象 类的内部布局(属性、方法);

  25. ​ 构造函数与析构函数;

  26. ​ 类的继承与转换;

  27. ​ 接口(轻量级的类),微观上与类的差别;

  28. ​ 类之间的up casting 和 down casting。

  29. ​ stdClass。

  30. 第八章 错误与异常 什么是错误、什么是异常。两者的区别;

  31. ​ 如何创建和抛出异常;

  32. ​ try/catch 的设计与实现;

  33. 第九章 流(Streams)支持 这方面我接触较少,内容待定;

  34. 第十章 虚拟机 脚本编译机制(词法分析、语法分析);

  35. ​ 脚本的执行机制(CALL|SWITCH|GOTO);

  36. ​ 各个符号表的作用;

  37. ​ 开发 OPCode 缓存器;

  38. ​ 开发 PHP 调试器;

  39. ​ PHP编译执行分离的实现(或者,源码加密的实现)

  40. 附录 完整的 PHP API、Zend API 以及宏(Micro)参考(长期工程)

  41. ​ Zend Engine 1 的主要特性,与 Zend Engine 2的主要差别;

  42. ​ Zend Engine 3 的主要特性,与 Zend Engine 2的主要差别;

  43. ​ 相关资源