Learning Pathway: Advanced Developer
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 333
- Forks
- 127
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 11
Description
Learning Pathway: Advanced Developer
Note: This learning pathway outline is still a work in progress!
This level tackles topics specific to web development but not specific to WordPress. These are skills that would apply to any software development project that makes use of the tech stack that powers WordPress (PHP/MySQL/HTML/CSS/JavaScript). There is also no specific order in which these topics should be covered, they are all equally important.
See the full Developer pathway outlined in this document.
To learn more about creating content for these lessons, please read the Guidelines for creating, reviewing, and publishing lessons.
Module 1: Xdebug for step debugging in PHP
Objective: Learn to install and use Xdebug for step debugging, in order to debug code in development, or find bugs in existing code.
Lessons
- Installing Xdebug
- Configuring Xdebug
- Enabling step debugging
- Watching variables
- Stepping into and out of code
- Global Variables vs User Defined
Module 2: Classes, Objects, and WordPress
Objective: Covers how WordPress uses classes and objects, as well as how to structure code using classes vs procedural functions.
Lessons
Module 2: Object Oriented PHP development for WordPress
Objective: Discuss the difference between procedural and object-orientated development.
Lessons
- Using classes != object-orientated programming
Module 6: Automated Testing
Objective: Learn how to implement automated testing for your code
Lessons
- Unit Testing with PHPUnit
- E2e testing
Module 3: Refactoring
Objective: Learn
Lessons
Module 4: Advanced Caching
Objective:
Lessons
- PHP OPCache
- Database level caching
- Static file caching
- In Memory caching (eg Redis)
Module 6: The history of JavaScript in WordPress
Objective:
Lessons
- jQuery
- AJAX
- Server Side PHP and Enqueuing
- Heartbeat API
- React and Gutenberg
Module 7: MySQL custom queries
Objective:
Lessons
Module 8: Revision control systems
Objective:
Lessons
- SVN
- Git
Module 9: WP-CLI
Objective:
Lessons
- #829
- Creating custom commands
- #1301
Module 10: PHP Package management with Composer
Objective:
Lessons
Module 11: Coding Standards
Objective:
Lessons
- #2854
- PHPCS with WPCS
- @wordpress/scripts
Module 12: Code Quality Tools
Objective:
Lessons
- PHPCompatiblityWP
- phpstan
- psalm
Module 13: Continuous integration/Continuous delivery
Objective:
Lessons
- #1300
Module 14: Contributing to WordPress
Objective:
Lessons
- Understanding tags and labels
- Reporting a bug
- Contributing to a conversation
- Creating a patch
- SVN
- Git
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the pathway outline, the linked spreadsheet, and the Guidelines for creating, reviewing, and publishing lessons. Start by identifying which modules and lesson checklists are intended to be completed; the work is done when the advanced developer pathway has defined objectives and lesson content for its listed topics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css, git, html, javascript, jquery, mysql, php, react, redis
- Domain
- content, documentation, web-dev
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100