Course Introduction
Take you to compile and install PHP7
How to compare the performance of PHP7 and PHP5 (without comparison, there is no gap)
What are the new features of PHP7?
PHP7 has other new features
Get to know all the features of PHP7 again
What is the small and elegant zval
Zval actual combat corresponding to different variables
Zend_string and copy-on-write practice
Take you through the practical use of reference types
What is an array in PHP7 source code
Take you to practice adding, deleting, modifying and checking arrays
Continue to practice adding, deleting, modifying and checking arrays (thoroughly knowing the underlying implementation logic of arrays)
Summarize the basic variables again
Memory management basics
What is the real memory allocation process_HD
What is Small memory management?
Take you to practice Small memory management
Chunk memory alignment
Understand the real markings of Small and Large memory
Judgment of memory marking and memory release size
Summary of memory management
PHP running life cycle
What is CLI mode
Practical life cycle of CLI mode
Understand the function call diagram of module initialization part
Detailed explanation of php_module_startup stage
Detailed explanation of php_request_startup
Detailed explanation of execution and management phases
What are the three modes of FPM
Basic knowledge of network programming
Network programming practice
Signal processing practice
FPM life cycle
Practical combat: debugging FPM using GDB
FastCGI protocol theory explanation
FastCGI protocol in action
Continue to practice the FastCGI protocol
Chapter Summary
Do interpreted languages also need to be compiled?
NFA and DFA
Using re2c for lexical analysis
Introduction to Grammar Analysis and Backusian Paradigm
Practical combat: using bison for syntax analysis
Lexical and syntactic analysis of PHP7
Practical combat: PHP7 lexical analysis process
PHP7 syntax analysis process
AST compiled into instruction set
Practical combat: the process of compiling AST into opcode
The basics of Zend virtual machine
Practical combat: Execution of Zend virtual machine
Summary and review
AST, stack, symbol table and instruction set of break syntax
break command execution process_HD
AST, stack, symbol table and constants of include syntax
Execution of include syntax
AST of conditional judgment grammar
Stack, symbol table, constants and instruction set for conditional statements
The execution process of conditional syntax
foreach's AST, stack, symbol table and constant array
foreach instruction set
The execution process of foreach syntax
Exception handling AST, stack, symbol table, constants and instruction set
Exception handling execution process
Write a simple extension
Practical combat: detailed analysis of expansion
A simple logging extension
SeasLog extended analysis (1)
SeasLog extended analysis (2)
Internal function sort analysis
internal extended date
Course Review and Outlook
本课程将带你深入剖析PHP7源码,掌握PHP7源码背后的原理,内核机制、核心技术点、PHP扩展及架构设计思想等,提高你的源码阅读和分析能力,提升你的编程技能和代码设计能力,让你快速突破技术瓶颈,解决性能调优和高并发问题。