You have already seen how class type hinting and access control give you more control over a class’s interface. In this chapter, I will delve deeper into PHP’s object-oriented features.
This chapter will cover several subjects:
Static methods and properties: Accessing data and functionality through classes rather than objects
Abstract classes and interfaces: Separating design from implementation
Traits: Sharing implementation between class hierarchies
Error handling: Introducing exceptions
Final classes and methods: Limiting inheritance
Interceptor methods: Automating delegation
Destructor ...