Intermediate to advanced PHP: SOLID Principles -- https://medium.com/@hidiegomariani/intermediate-to-advanced-php-solid-principles-b2c5bd8360ce#.61fstyvvp