Review the differences between an abstract class and a base class. Review PHP constants.
A base class creates consistent reusable code. When you extend a class the new subclass inherits all methods from the parent class.
An abstract class provides a template for inheriting base class methods. Abstract classes cannot be instantiated
An interface provides methods but does not define how to use the methods.