Object-Oriented Programming and WordPress
3h 1mAdvanced2023-02-01
Authors

Gary Kovar
Senior Back-End Developer and Software Engineer
Course details
Object-oriented programming is ideal in large, complex, and continually maintained projects. It lets you take a huge problem and break it down into solvable chunks. In this course, Gary Kovar covers the benefits of OOP, answers “Why OOP in WordPress?” and how to best connect with WordPress. Gary takes you through a refresher on OOP PHP syntax, takes a deep look at architecture concepts, shows you what OOP is not good for, simple wins with OOP, and team benefits. He also provides multiple real-world examples of OOP and WordPress—including building a plugin using what you’ve learned in the course. If you have some experience with OOP—and some frustration—check out this course to learn how you can use it to your benefit when creating WordPress plugins.
Skills covered
Object-Oriented ProgrammingPHPWordPressContent Management Systems (CMS)AdvancedWeb DevelopmentProgramming LanguagesOpen SourceSoftware Development
Concepts
0. Introduction
- 01 - Object-oriented programming
- 02 - What you should know
- 03 - Exercise files
1. Why OOP in WordPress
- 04 - Walk through of a traditional procedural plugin
- 05 - Identify the limits with object-oriented programming
- 06 - Data types
- 07 - Autoloading
- 08 - Namespacing
- 09 - Using objects instead of arrays
- 10 - More useful return values
2. OOP Refresher
- 11 - Anatomy of a class
- 12 - When a class becomes an object
- 13 - Properties and methods
- 14 - Access and visibility
- 15 - Inheritance, abstract, and interfaces
- 16 - Static and constants
- 17 - Putting it all together
3. Architecture Concepts
- 18 - Composition over Inheritance
- 19 - Thinking SOLID
- 20 - Single responsibility
- 21 - Open closed
- 22 - Liskov substitution
- 23 - Interface segregation
- 24 - Dependency inversion
4. Benefits
- 25 - Isolated logic
- 26 - DRY code
- 27 - Testable code
- 28 - Data access
- 29 - Model business logic
- 30 - Quickly add functionality
- 31 - Design patterns
5. Real-World Example
- 32 - Feature request - Discuss scope
- 33 - Technical scoping - Identify the pieces needed to build
- 34 - Capture the business logic - Write interfaces and value objects
- 35 - Add a solid foundation - Test your implementation
- 36 - Feature change #1 - When to run the logic
- 37 - Feature change #2 - Middleware
- 38 - Feature change #3 - Add external service
- 39 - Wrapping up a real-world example
Conclusion
- 40 - Apply OOP to your projects