I've been studying and using PHP for a while now and believe I have a pretty good grasp on the language. My problem is maintaining a good programming structure, in particular MVC. I have difficulty trying to prevent myself repeating code and I constantly worry that I might be doing something wrong. It is after reading the source code of frameworks such as CakePHP and Codeignitor I see the marvelous work the developers have done and wonder if I will ever be able to code to such a high standard. I realize they have thousands of hours of programming under their belt, but I still doubt myself.

My main issues are:
Maintaining a proper error checking and logging system,
Code repetition / Abstraction - Particularly database related functions (eg using PDO I still have to use over ten lines to execute and check the result of a query, there must be a simpler more abstract way),
My rapid introduction to the Web development environment - I live in a rural area and as such many businesses don't have websites. I have 3 clients lined up in addition to the one I currently have. A lot of potential for money there, but it worries me that I have not had a huge amount of time to develop my programming skills. On the other hand I know taking on the clients will help with this, but I can't afford to get it wrong.

What do I do? Do you have any suggestions for improving my programming ability? I will be starting a Computer Science / Mathematics degree this year also which I expect will improve my skills in this area. I've also considered learning CakePHP, because I believe this will help with my understanding of structure as well as speed up development.

Also, I tend to do a Design/Develop combo whereas generally there would (I think) be two people, one who is fluent with the design side and one with development. I can manage the mockup HTML, CSS just fine, but sometimes people request flashy Javascript features that I simply can not offer them. What do I do in that situation? I've just been ensuring that they understand what my skills are and what I can offer them.