Здравствуйте! Вопрос довольно неоднозначный, ведь для каждого человека свой подход, но я могу Вам посоветовать несколько вещей. Во-первых, постепенно увеличивайте сложность проектов(сайтов), тем самым Вы будете развиваться, ища информацию, пользуясь ей, ведь создавая более сложные сайты, Вам придётся находить новое для Вас, изучать это. Во-вторых, попытайтесь найти те области в php с которыми Вы не знакомы/мало знакомы, затем изучайте их, параллельно внедряя их в свои сайты. По поводу литературы - не буду Вам советовать какие либо конкретные книги, скажу лишь одно-не читайте книги, информация из которых Вам знакома, да, повторение это хорошо, но с ним не нужно перебарщивать, лучше искать новый материал. Задачи - это тоже интересная тема, хотя я конечно уже сказал про них, но дам ещё совет - выберите какой нибудь сайт, на котором множество задач на программирование, возьмите самые сложные, если решите без проблем - сайт не подходит, если возникнут трудности, то возьмите с сайта задачи попроще - прорешайте их, и постепенно начните усложнять уровень. Надеюсь, что мои советы Вам пригодятся.