29-06-2004, 10:10 AM
Does any-one know / can any one suggest any local (South African) institutions that provide training and / or certification for PHP and MySQL?
Although, having been writing PHP and MySQL applications for about three years, I can tell you that you would be wasting your time and money anyway.
The PHP syntax is mostly based on perl, which in turn is looseley based on C and some aspects of Pascal. If you were unlucky enough to have taken Computer Science in a South African school before 2001, you would have been taught Pascal, finally, your otherwise useless high school knowledge of programming will now come in handy.
Having some basic knowledge of medium level programming languages will be a great help with starting PHP. If you understand the structure and syntax in perl, you will take to PHP in less than a day. If you understand C, in less than a week. With a good knowledge of Pascal, you should be able to figure out PHP in about a month.
Once you have mastered the basic language syntax and flow controle structure, start reading through the manual for functions that interest you. The PHP manual contains a working example for each listed function. Look carefully at these to make sure you understand how the function works and what it does, then write a small script using the function in some way that you find assists you in building an understanding of the language.
SQL is an extremely simple language and is described in its entirety in the MySQL users manual. The manual also describes extra statements and built in functions only found in MySQL. Mastering any of these should be no problem for anybody with basic programming knowledge.
Once you are comfortable with PHP and MySQL, you might want to look in to the object oriented side of PHP. Here, knowledge of C++ and Java might come in very useful. Also, if you have previously worked with classes and objects in perl, you'll figure this out in less than a day.
Object oriented programming is generally considered to be the most popular approach today. It does not work for all programs and is, indeed, not needed at all for some applications, but many developers will want you to know how this works, so figuring it out is very important for any budding PHP developer.
As soon as you consider yourself experienced enough, start building up a portfolio. That is quite easy to do. Just think of a few ideas for small applications that have not been implimented through a web interface and which you, or others, might find useful. Then, write these programs and make them available to the public as freeware. Publishing your programs on FreshMeat (http://www.freshmeat.net/), will get you good exposure for your application very quickly.
If you manage to write a number of very successful small applications, you have a portfolio. When applying for a position as a developer, you will find a portfolio will get you a lot further than a paper qualification and zero work experience. Most development houses usually request that you send sample code to demonstrate your expertise, a strong portfolio will supply you with a large supply of sample code for any possible situation.
Be forewarned though, the likelyhood of finding any PHP development job as a permanent position is very small anywhere in the word, and mostly impossible in South Africa.
Most of your payed work will be freelance, so you will need to be self motivated and have the ability to work directly with clients. Freelance work generally pays much better than permanent positions, but it will be stressfull and money can become a problem during a dry spell.
As a last side note, you will also want to have an extensive working knowledge of HTML and CSS. Simply designing a page in FrontPage or DreamWeaver and then patching your scripts into it does not work. Many clients will not only hire you to design and implement a back-end, but will want a complete web site. Not knowing HTML or CSS will end your career as a PHP developer before it begins.
Adaptive Web Development
29-06-2004, 10:56 AM
Definitely agree with Podo, you learn so much more when teaching yourself and you'll save a lot of money. I started with the basics of PHP by installing a pre-written content management system on my computer (Mambo) and messing around with the source code.
29-06-2004, 11:12 AM
This confirms what I already suspected. I've been teaching myself for almost 3 years now and I seem to be doing alright. I do find that quite regularly there is a simpler, better, faster way to do something - and that's where I thought that some formal instruction would clear some things up. Apparently not true.
Thanks for your feedback and I hope that someone else can learn from your reply.
29-06-2004, 11:33 AM
My experience with formal instruction in C++ was that the training institutes only taught you to do things one way. When teaching yourself you quickly realize there are always a couple of ways to do something and the best way to do it depends entirely on the situation. Formal instruction is usually very counter-intuitive to "thinking out of the box", which is a very necessary programming skill. If you really want to go study, do a course that teaches the fundamentals. All you need are the basics, it's much better and far more rewarding to figure out the rest for yourself.