/PHPer

一个PHPer的升级之路

Primary LanguagePHPMIT LicenseMIT

PHP开发知识结构

目录

顺序:基础 => 进阶 => 原理 => 架构 => 业务 => 软技能

开发工具

环境搭建

编程语言

  • 前端:CSS/Html/JavaScript/bootstrap
  • LNMP:Linux/Nginx/Apache/Mysql/PHP
  • 前端框架:Vuejs/React/Angular
  • 其他:Golang/Java

代码质量

PHP

安全

数据库

基础理论

  • 数据库设计的三大范式

关系型数据库

  • Mysql
    • SQL基本(SELECT、UPDATE、INSERT、DELETE、JOIN、子查询)
    • MySQL特性(表引擎、字段类型、函数、索引类型)
    • MySQL进阶(Explain查询优化、Profiler、索引优化、processlist管理、备份还原、主从复制)
    • MySQL命令行操作 -使用PHP操作MySQL(PDO、Prepare、Bind)
  • SQLite

NoSQL数据库

  • Memcached
  • Redis
  • MongoDB

框架

计算机基础

  • 编译原理
  • 计算机网络
  • 操作系统
  • 算法原理
  • 计算机组成原理

编程知识储备

  • 数据结构
    • 数组(Array)
    • 堆栈(Stack)
    • 队列(Queue)
    • 链表(Linked List)
    • 树(Tree)
    • 图(Graph)
    • 堆(Heap)
    • 散列表(Hash)
  • OOP/AOP
  • 闭包
  • 编程范型
  • 设计模式
  • 网络编程&并发
    • 多线程
    • 线程安全
    • 一致性、事务
  • 操作系统
    • 计算机原理
    • CPU
    • 多级缓存
    • 进程
    • 线程
    • 协程

架构

  • 复杂度
  • 高并发
  • 高性能
  • 高可用
  • 中间件
    • Web Server
    • 缓存
    • 消息队列
    • 定时调度
    • RPC
    • 数据库中间件
    • 日志系统
    • 配置中心
    • API网关
  • 分布式/集群

运维&统计

  • 持续集成(CI/CD)
  • 测试
    • TDD 理论
    • 单元测试
    • 压力测试
    • 全链路压测
    • A/B、灰度、蓝绿测试
  • 虚拟化
  • 容器技术

微服务

  • 负载均衡
    • Nginx/LVS
  • 微服务
    • 服务网关

应用

文档规范

开发流程

  • 编码
  • 测试
  • 部署
  • 监控

软技能

附录