View Single Post
Old 11-09-2006, 07:00 PM   #3 (permalink)
TechnoGuyRob
Senior Member
 
Join Date: Nov 2006
Location: Illinois
Posts: 149
TechnoGuyRob is on a distinguished road
Default

I personally started with a book by Kevin Yank. I went through all the examples and projects so I felt familiar with the basics. Then, I set off to writing a content management for a newsletter (for a site I was involved with), where anyone could submit articles, lists for crossword puzzles, etc. and the newsletter would automatically be generated as soon as moderators confirmed the submissions to be included. This was about 5,000 lines, and took me a few months. It was horrible, horrible PHP. However, throughout it I got better and better and the code I was spewing out turned out progressively more professional. Once it was done, I realized what a piece of junk most of it was (it was functional, but I had ascended to a new level of PHP enlightenment). So I decided to expand my PHP knowledge by creating various applications like a template (CFG grammar) parsers, pdf creators, an online graphing calculator, IRC bots, and various other apps that required me to use just about every feature PHP offers. I became extremely comfortable with OOP in PHP (it wasn't a big adjustment, since I was already familiar with C++). Finally, I've been working with a team of developers to create a complete revision to the back-end and front-end for a community-driven site we all participate on.

Basically, here is my advice: first, make sure you're comfortable with the basics of PHP. It's fine if you make mistakes, but make sure you do lots of reading about PHP (even if it's a few minutes a week, you'll start to notice what people are saying about bad programming practices). The most important thing, however, is to practice, practice, practice. The biggest experience-builder in any programming language I have endeavoured to learn is to practice by writing applications in the language. It may seem obvious, but it is amazing how proficient it makes you.

In conclusion, it took me about 6-12 months to feel like "very good" at PHP. However, I didn't feel like a "guru" until about 2 years of lots of PHP programming.

As for SQL, well, they offer a class about it at my college, so I have more experience in it than 95% of programmers. Unfortunately, most programmers think they can create a carefully-crafted, optimized, excellent database after reading up a summarizing article about SQL. The queries you are going to be using through PHP probably aren't going to be too complicated, so that's good. But, if you want to use MySQL (or any database programming language) in a serious application, I suggest you invest some serious time in educating yourself about constructing databases.

Hope that helps! My all-time biggest helpful resource was PHP: Hypertext Preprocessor. If you have specific problems, try PHP development forums. However, if you have plenty of time, I wouldn't rely on it. You would be amazed at how much more proficient you become through finding things out on your own. One final thing that really helped me not only become a (self-proclaimed :P) expert on PHP, but an expert that can code well, is my work with other developers (like with SubVersion and CSV), because they pointed out things wrong or that could be better about my code.

And remember, PHP is for web programming, which means you must be familiar with security practices! I find this is the area where programmers lack the most. I have found exploits (not actually used them, of course, I'm not a black hat ) on sites like MySpace, Google, and fairly large sites like YouThink just because the programmer(s) forgot about basic security practices.

Last edited by TechnoGuyRob; 11-09-2006 at 07:03 PM.
TechnoGuyRob is offline   Reply With Quote