Писать код. Читать код. Например, популярные опенсорсные проекты на гитхабе. Если очень уж книгу хочется, то вот минимальный джентельменский набор:
1. Совершенный код. С. Макконнелл
2. Чистый код: создание, анализ и рефакторинг. Роберт Мартин
3. Приёмы объектно-ориентированного проектирования. Паттерны проектирования. Банда четырех))
4. PHP. Объекты, шаблоны и методики программирования. Мэт Зандстра
5. Рефакторинг: улучшение существующего кода. Мартин Фаулер
И т.д. Книг крайне много. И статей много. И простое их чтение мало что даст. Практика, много практики. Критичное отношение к своему коду, однако без перегибов - не стоит упираться в перфекционизм.