How I learned PHP
I have 11+years Experience as the Web developer in total (mainly PHP), I am actually from Science Background who got interested in Computer Technology.
I have worked in a single company for 10Years and then left for working as Freelancer.
Why I wanted to learn PHP
I have learned PHP because there was a Project Requirement in our company and nobody knows php. As i wanted to learn new technology i learned it.
How I approached learning PHP
I have started learning from W3schools.com, then downloaded few Tutorials and gone thru forums. When I got basic knowledge, I have started working on Project and improved myself over the period.
As there is no mentor in PHP, I had learned only function programming using which i have developed the project.
Challenges I faced
As i have worked using function based programming, i had faced lot of problems. especially like, changing same code in many places and forget in few places and introducing bugs because of this, and development process took long time than expected.
I have enjoyed the whole learning process, as it is new to me and client wanted to use some third party libraries/tools, which i had to learn. so basically my learning process continued for years with the project. but overall i have got very good experience in both What to do and What not to do in Programming/project Management.
After i left company, i learned WordPress and got a good experience, built 5Websites as freelancer, this period is a golden phase for me.
Tips and advice
I advice everybody to contact somebody who is experienced in the technology and spend some time to get to know what are best practices, and try to understand different tools/frameworks and get idea about them at least. Don't stick to single framework/CMS, broaden your expertise, which is very important for your future.
Don't stick to just PHP, learn other Technologies in Web development which are in demand
Final thoughts and next steps
PHP learning can be stopped at a point, but as there are so many Frameworks/CMS available, You need to continuously learn at least 2-3 important frameworks/CMS.
I am doing that Right now.