WordPress / WordPress/Learn

Learning Pathway: Advanced Developer

Open
#2,344 2 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.