Chapter 2: Inheritance and Composition, Encapsulation and Visibility, Interfaces and Concretions
In this second chapter, we are going to learn as much as we can about the OOP features of PHP when it comes to creating full sets of classes that are related to each other and that work together to provide a specific feature.
First, we are going to learn about encapsulation and the differences between private, protected, and public class properties and methods. Hopefully, you will see the advantage of keeping things as private as possible.
Then we are going to look in detail at the two main ways of creating a graph of related and interdependent classes: classic inheritance and the alternative approach of composition.
As we explore this, I hope that you will also learn some other language features along the way. Anything that you spot that is not immediately clear to you, I really encourage you to go and look it up in the official PHP docs.
This chapter will cover the following...