全方位深度剖析PHP7底层源码

  • 第1章 课程介绍

    本章主要介绍课程要讲的知识点,以及课程要求等。

    •  1-1 【欢迎在问答区和QQ群与老师互动,祝您学习愉快】课程整体介绍(了解课程整体内容,方能更好学习)试看
  • 第2章 PHP7的新特性

    本章主要介绍PHP7的新特性,做基准测试,与PHP5对比验证PHP7的性能提升程度,引出对PHP7源码学习的必要性。

    •  2-1 带你编译和安装PHP7
    •  2-2 如何要对PHP7与PHP5进行性能对比(没有对比,就没有差距)试看
    •  2-3 PHP7有哪些新特性
    •  2-4 PHP7还有其它新特性
    •  2-5 再次认识PHP7的所有特性
    •  2-6 练习题:加深对PHP新特性的理解
  • 第3章 基本变量与内存管理机制

    本章主要讲解C语言中结构体和联合体的区别、宏定义、具体讲zval与字符串的实现 并以字符串为例,演示写时复制,讲内存回收的方案,使用GDB展示内存的使用情况等。

    •  3-1 什么是小而巧的zval
    •  3-2 不同变量对应的zval实战
    •  3-3 Zend_string与写时复制实战
    •  3-4 带你实战引用类型的使用
    •  3-5 什么是PHP7源码中的数组
    •  3-6 带你实战数组的增删改查
    •  3-7 继续实战数组的增删改查(彻底知道数组的底层实现逻辑)
    •  3-8 再次总结基本变量
    •  3-9 内存管理基础知识
    •  3-10 什么是真正的内存分配过程
    •  3-11 什么是Small内存的管理
    •  3-12 带你实战Small内存管理试看
    •  3-13 Chunk的内存对齐
    •  3-14 认识真实的Small和Large内存的标记
    •  3-15 内存标记和内存释放时大小的判断
    •  3-16 总结内存管理
    •  3-17 练习题:内存管理的机制
  • 第4章 PHP运行的生命周期

    本章主要介绍使用GDB展示PHP代码的执行过过程,按阶段讲解使用cli模式讲解、PHP7的生命周期以及fpm的生命周期,包括fastcgi协议等。

    •  4-1 章介绍
    •  4-2 什么是CLI模式
    •  4-3 实战CLI模式的生命周期
    •  4-4 认识模块初始化部分函数调用图
    •  4-5 详解php_module_startup阶段
    •  4-6 详解php_request_startup
    •  4-7 详解执行和管理阶段
    •  4-8 何为FPM的三种模式
    •  4-9 网络编程的基础知识
    •  4-10 网络编程实战1
    •  4-11 信号处理实战
    •  4-12 FPM的生命周期
    •  4-13 实战:使用GDB调试FPM
    •  4-14 FastCGI协议理论讲解
    •  4-15 FastCGI协议实战
    •  4-16 继续 FastCGI协议实战
    •  4-17 小章总结
    •  4-18 练习题:PHP7运行的生命周期
  • 第5章 PHP代码的解析与执行

    本章主要介绍编译器,以及源程序的分析过程,具体讲解Lex/YACC、Re2c/Bison词法和语法分析器以及讲解词法语法分析用到的数据结构等。

    •  5-1 解释型语言也需要编译吗
    •  5-2 NFA和DFA
    •  5-3 实战:使用re2c做词法分析
    •  5-4 语法分析入门与巴科斯范式
    •  5-5 实战:使用bison做语法分析
    •  5-6 PHP7的词法和语法分析
    •  5-7 实战:PHP7词法分析过程
    •  5-8 实战:PHP7语法分析的过程
    •  5-9 AST编译成指令集
    •  5-10 实战:AST编译成opcode的过程
    •  5-11 Zend虚拟机的基础
    •  5-12 实战:Zend虚拟机的执行
    •  5-13 总结并回顾
    •  5-14 练习题:深入理解PHP代码的解析与执行
  • 第6章 基本语法实现的细节和原理

    本章主要介绍条件判断语法实现、循环语法实现、中断与跳转、文件的引入、异常和错误的处理以及实战体验include和reuqire的区别。

    •  6-1 break语法的AST、栈、符号表和指令集
    •  6-2 break命令执行过程
    •  6-3 include语法的AST、栈、符号表和常量
    •  6-4 include 语法的执行
    •  6-5 条件判断语法的AST
    •  6-6 条件语句的栈、符号表、常量和指令集
    •  6-7 条件语法的执行过程
    •  6-8 foreach的AST、栈、符号表和常量数组
    •  6-9 foreach指令集
    •  6-10 foreach语法的执行过程
    •  6-11 异常处理的AST、栈、符号表、常量和指令集
    •  6-12 异常处理的执行过程
  • 第7章 编写一个PHP扩展

    本章讲解编写和编译扩展的基本流程,了解了PHP执行的原理,对于固化的逻辑,可以通过编写扩展来提高性能以及编写一个扩展。

    •  7-1 编写一个简单的扩展
    •  7-2 实战:扩展的具体分析
    •  7-3 一个简单的日志扩展
    •  7-4 SeasLog扩展分析(一)
    •  7-5 SeasLog扩展分析(二)
    •  7-6 内部函数sort分析
    •  7-7 内部扩展date
  • 第8章 课程总结

    本章对课程做总结与回顾。

    •  8-1 【欢迎在问答区和QQ群与老师互动,祝您早日找到理想的工作】课程回顾与展望

搜索获取

更多

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章