The single responsibility principle deals with classes that try to do too much. The responsibility in this context refers to reason to change. As per the Robert C. Martin definition:
"A class should have only one reason to change."
The following is an example of a class that violates the SRP:
class Ticket { const SEVERITY_LOW = 'low'; const SEVERITY_HIGH = 'high'; // ... protected $title; protected $severity; protected $status; protected $conn; public function __construct(\PDO $conn) { $this->conn = $conn; } public function setTitle($title) { $this->title = $title; } public function setSeverity($severity) { $this->severity = $severity; } public function setStatus($status) { $this->status = $status; } private function validate() { // Implementation... } public function save() { if ($this->validate()) { // Implementation...