Design Patterns in PHP and Laravel (2017)