Single-responsiblity principle ( S.R.P) - this principle states that: A class should have one and only one reason to change, meaning that a class should have only one job. For example, say we have some shapes and we wanted to sum all the areas of the shapes. Well this is pretty simple right? class Circle { public $radius; public function __construct($radius) { $this->radius = $radius; } } class Square { public $length; public function __construct($length) { $this->length = $length; } }