Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/onecodemonkey/php-src-analysis

PHP源码分析注解。
https://github.com/onecodemonkey/php-src-analysis

analysis analytics php source-code src

Last synced: 21 days ago
JSON representation

PHP源码分析注解。

Awesome Lists containing this project

README

        

# 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. ​ 相关资源