OO
- namespace?
- interface?
- self?
- $this?
- use?
- annotations?
- visibility:
- private: only in this class
- protected: only in derived classes
- public: everywhere
- ctor
function __construct() {
parent::__construct(); // has to be called explicitly
...
}
function __destruct() {
parent::__destruct(); // has to be called explicitly
}
- trait: a trait is similar to a class, but only intended to group functionality in a fine-grained and consistent way. It is not possible to instantiate a Trait on its own. It is an addition to traditional inheritance and enables horizontal composition of behavior; that is, the application of class members without requiring inheritance.