Вам необходимо понять пять понятий: классы;наследование;понятие частного и общественного;абстракция;полиморфизм.Последние два понять сложнее всего.
Для этого не нужна книга.Просто прочитайте любой учебник о OO PHP.Попробуйте закодировать несколько ложных классов, использовать наследование и полиморфизм.Убедитесь, что вы понимаете эти пять понятий, вплоть до того момента, когда вам не нужно думать, когда вы слышите слово, чтобы вспомнить, что они собой представляют.о ООП (Head First, как предполагает Борис Павлович, является хорошим выбором).
Затем прочитайте о шаблонах проектирования, даже если вы не собираетесь их использовать: фреймворки используют (и часто злоупотребляют!) Шаблонами проектирования, поэтому вам придется понимать их (по крайней мере, знать более или менее, чтоони о).