- 版本
- php7
- php8(jit)
- 源码 php-src
- zend vm
- 内存管理
- zend内存池
- 变量
- zval、zend_value
- hashtable
- gc
- refcount
- 编译过程
- 词法分析lexer -> tokens
- 语法分析parser -> AST
- 编译compiler -> opcode
- opcache
- 执行过程(简单归纳,重点学习!)
- sapi_startup(cli、fastcgi…)
- zend引擎初始化
- 扩展初始化
- 解析执行php脚本
- 请求结束
- 卸载扩展
- 返回sapi
- 内存管理
- sapi
- cli
- fpm
- apache2handler
- phpdbg
- 扩展解读
- opcache
- fpm
- 内置函数:ext/standard
- 标准库:SPL
- zend vm
- 缓存
- 共享内存
- opcache
- yac
- 单进程
- 扩展开发
- 共享内存
- 扩展开发
- ext_skel:c/c++
- Zephir:php
- php-cpp:c++
- ffi (php7.4+):c/c++/go/rust/…
- 并发
- 多线程:pthreads
- 协程
- fiber(扩展)
- yield(语法)
- Amphp(纯php实现)
- 多进程:pcntl
- swoole/swow扩展
- 依赖管理
- require/include
- autoload
- spl_autoload
- composer
- PEAR
- 短连接服务 HTTP
- fastcgi
- fpm
- 配置用法
- 代码改动监测
- 通信机制
- master和worker是怎么通信的?
- apache2或者nginx是怎么和fpm通信的?
- fpm如何预防内存泄漏?
- apache2(prefork):同步阻塞
- nginx(epoll):异步非阻塞
- 长链接服务 TCP / WebSocket…
- Swoole
- Workerman
- 批处理任务
- 消息队列
- task进程池
- 调试
- php层分析:xdebug
- opcode阅读
- 可交互界面:phpdbg
- 扩展:vld
- 系统调用:strace
- 深入内核:gdb
- 性能分析
- xdebug
- xhprof
- xhgui
- apache bench
- 测试
- 单元测试:phpunit
- 自动化测试:CI/CD
- 设计模式
- DDD(领域驱动设计)
- GoF 23个设计模式
- Ioc服务容器(来自Laravel)、依赖注入
- 数据结构和算法
- 经典数据结构实现(如使用php实现跳表、单链表)
- 经典算法实现(如使用php实现快排、归并排序)
- 成熟框架
- php层面
- laravel
- symfony
- 扩展层面
- yaf
- phalcon
- php层面
- 新特性语法整理:不同版本新加的
- 编程范式
- 面向对象
- 函数式编程:匿名函数、闭包
- 元编程:魔术方法、反射、重载
- 模板引擎:上个时代的产物,现在基本都是前后端分离
- 安全
- 密码
- 恶意注入(如SQL注入、命令注入)
- 错误报告(生产环境需要屏蔽敏感数据)
- XSS
- CSRF
- 中间人攻击(HTTPS)
- 抓包工具使用
- 网络协议
- Fidder2
- WireShark
- 代理
- Charles
- 网络协议
- 高性能
- HHVM(php转译为c++)
- 结合php源码、扩展进行 C/C++ 学习归纳
- 编译执行过程
- 优秀扩展(如 phpredis)
- 标准库(如内置函数、语法实现、SPL等)
- 前沿展望
- php8 jit
一份PHP学习大纲
最新推荐文章于 2024-04-13 11:50:57 发布