Php Objects, Patterns и Practice - немного сложная точка входа для ООП. Это был мой первый источник по этому вопросу, и после первоначального обоснования он довольно плотный. Сказав это, я продолжаю возвращаться к этому снова и снова, и снова - это окончательный текст для PHP OOP IMO, просто трудно начать.
Я нашел книгу Аарона Сарая о PHP Design Patterns - и это отлично. Он берет все эти абстрактные примеры из вышеприведенной книги и показывает вам, как вы можете применить их в своей повседневной работе. В нем отсутствуют некоторые детали и теория первого - но это хорошо дополняет.
http://www.wrox.com/WileyCDA/WroxTitle/Professional-PHP-Design-Patterns.productCd-0470496703.html
MVC - (или, скорее, Front Controller) - нечто вроде монстра, который нужно сначала понять - лучше поиграть с фреймворком, прежде чем заняться этим. Page Controller - лучшее введение в концепцию MVC.
http://www.phpwact.org/pattern/page_controller
Я согласен, что PHP OOP «грязный», но, эй, VHS был не так хорош, как Betamax, и вы можете адекватно изучить концепции ООП в PHP (и развернуть их на веб-хосте ...) - хотя я бы предложил что Ruby, вероятно, проще понять, чем Java (не то, чтобы я тоже учился, просто баловался с обоими)