- The term "class" refers to all classes, interfaces, and traits
- A class should only ever be autoloaded - never use
requireorinclude
- Constants should only be declared on a class
- Constants should use
UPPERCASE_UNDERSCORED - Properties should use
$camelCase - Classes should have all or no static members
- Methods should use
camelCase() - All parameters should define their type where possible
- All methods should define their return type where possible
- Methods should avoid becoming longer than 20-50 lines
- Public functions should show the headlines of a class's functionality