PHP development knowledge structure
Table of contents
Sequence: Basic => Advanced => Principles => Architecture => Business => Soft Skills
- Development Tools
- Environment construction
- programming language
- Code quality
- PHP
- Safety
- database
- frame
- Computer Basics
- Programming knowledge reserve
- Architecture
- Operation and maintenance & statistics
- Microservices
- application
- Document specifications
- Development Process
- Soft skills
- appendix
Development Tools
- Editor and IDE
- PhpStorm - Discussion
- VIM
- Sublime Text - Use
- VS code
- Notepad++
- Server Components
- XAMPP*
- WampServer
- phpStudy
- Debugging Tools
- xhprof
- xdebug
- Fiddler
- Chrome Dev Tools
- SwitchHosts
- Version Management
- Git/SVN
- Github/GitLab
- Sourcetree
- Mysql
- Navicat for Mysql
- PhpMyAdmin
- Redis
- Markdown Writing
- Cloud disk
Environment construction
- Linux
- Nginx
- Apache
- Mysql
- PHP
- oh-my-zsh
programming language
- Front-end: CSS/Html/JavaScript/bootstrap
- LNMP: Linux/Nginx/Apache/Mysql/PHP
- Front-end framework: Vuejs/React/Angular
- Others: Golang/Java
Code quality
- Coding style
- PSR
- PHP_CodeSniffer
- Clean Code PHP
- Unit Testing
- Automated testing
PHP
- PHP Basics
- Language reference
- Safety
- Features
- Function reference
- Automatic loading
- Namespace
- Dependency management: Composer/Packagist
- PHP Standard Library
- PHP extension
- PHP kernel
Safety
- CSRF
- XSS
- Same-origin policy
- Web Application Security
- Password hash: salt processing/password_hash
- Data filtering
- Configuration File
- Register global variables
- Error Report
database
Basic Theory
- Three paradigms of database design
Relational database
- Mysql
- SQL basics (SELECT, UPDATE, INSERT, DELETE, JOIN, subquery)
- MySQL features (table engine, field type, function, index type)
- MySQL advanced (Explain query optimization, Profiler, index optimization, processlist management, backup and restore, master-slave replication)
- MySQL command line operation - use PHP to operate MySQL (PDO, Prepare, Bind)
- SQLite
NoSQL database
frame
- Laravel
- Yii
- symfony
- codeigniter
- Phalcon
- ThinkPHP
- Swoole
- Tars
- Swoft
Computer Basics
- Compilation principle
- Computer network
- operating system
- Algorithm Principles
- Computer composition principle
Programming knowledge reserve
- Data structure
- Array
- Stack
- Queue
- Linked List
- Tree
- Graph
- Heap
- Hash list
- OOP/AOP
- Closure
- Programming paradigm
- Design Pattern
- Network programming & concurrency
- Multi-threaded
- Thread safety
- Consistency, transactions
- Lock
- operating system
- Computer Principles
- CPU
- Multi-level cache
- process
- Thread
- Coroutine
Architecture
- Complexity
- High concurrency
- high performance
- Highly available
- middleware
- Web Server
- cache
- Message Queue
- Timed Scheduling
- RPC
- Database Middleware
- Log system
- Configuration Center
- API Gateway
- Distributed/clustered
Operation and maintenance & statistics
- Continuous Integration (CI/CD)
- test
- TDD Theory
- Unit Testing
- Stress test
- Full-link pressure measurement
- A/B, grayscale, blue and green test
- Virtualization
- Container technology
Microservices
- Load balancing
- Microservices
application
- user
- Permissions
- business
- search
- Elasticsearch
- Sphinx
- Solr
Document specifications
- document
- Design delivery documents
- URL interface documentation
- Database Documentation
- API Documentation
- specification
- tool
- Graphite Documentation
- Yuqi
- GitBook
- KanCloud
Development Process
- coding
- test
- deploy
- monitor
Soft skills
- Communication skills
- A sense of responsibility
- Logical thinking
- Analyze and solve problems
- Learning Ability
- Teamwork
- Execution
appendix
- The Way of PHP
- Technical websites and blog highlights