Code as much as you can. Take on a pet project, and work on it as much as you can. If you get bored with it or think it's a waste, move on to something new or take a break. Release open source code, as it gives great pride to see something used, and also gives you the impetus to release your code.
Hang out in IRC chatrooms with developers who know what they are doing if you aren't working directly with someone. Pair programming helps not only yourself and the other programmer, but just plain writes better code. Read as many articles and blogs as you can, especially when using a framework, even just starting out. Start your own blog and ask questions (give answers when you can!).
Ask prominent (or at least experienced) developers in your community about your problems. Smaller communities around frameworks and languages (CakePHP being one of them) tend to have the best support as you can go directly to core developers and they are happy to ask questions. Don't be afraid to ask questions to the Lead Developer of something, though. Linus Torvalds answers things in the User Groups whenever he gets a chance and thinks it would be useful :)
You really need to practice to evolve. I maintain that I don't know any PHP whatsoever. I've been working on CakePHP projects for the past 9 months now, and have 27 github repositories, all containing CakePHP code. I stress that I don't know anything, and I suggest you do the same. Always question what you know and what you've written. Try to make your stuff better, even if its just to see if you can. If you learn something new, don't always implement it without seeing what the benefit in that specific case would be. It's the best way to make sure your code is as good as it can be, even if you don't know the language.
If you have trouble understanding books, I'd suggest grabbing anything from the O'Reilly series. Need pictures? Head for the "Head First" O'Reilly series. Make sure your library contains many books, so you always have something to read. And if you're strapped for cash (I am a poor college student struggling on only 1 chipwiches), borrow books from your school/university/public library. Many teachers/professors can order books FREE from publishers (usually 1-2 a year per publisher), so that's an avenue as well.
Above all, and as has been stressed before, PROGRAM! Write small programs, write huge projects. Find something that piques your interest and work on it. Don't be discouraged if anyone says it is crap, take it in stride and make it uncrap! Write lots of small bits here and there so that you always have something cool and new to work on.
Remember, Programming is an art. Painters don't just sit at an easel, paint something beautiful once, and never do it again. To be truly great you must always exercise your talent.