How to learn PHP professionally
If you have found this article, you were probably a lot like me just a few years ago. I knew I wanted to learn web development. Unfortunately, I did not have any experience, any schooling, know much about programming or have any clue where to start. For over a year, I spent countless hours sifting through many articles online, hanging out at barnes and nobles reading PHP books, and watching video tutorials. If you are in the same boat as I was, I believe this guide can cut out much of the time spent searching for the right way to learn. This is the guide I wish I had when I first started learning.
If you have not already decided for sure on a language, I will outline the main reasons why I think PHP is a great first language to learn. There are many good server side languages, and you can spend way too much time trying to compare and contrast. It is important to pick a language and stick to it at first. Mastering a primary language makes it much easier to learn a new language in the future.
- PHP is the most popular server side web development language. A Netcraft survey from January 2013 shows that PHP is used on 244 million websites. http://news.netcraft.com/archives/2013/01/31/php-just-grows-grows.html Because of this, there is tons of documentation and virtually every possible issue or problem you will run into has been solved and documented somewhere on the web.
- PHP is open sourced and free and has an active and passionate community.
- PHP is often used for newer start-ups and web based applications. Other languages like .NET or Java many times are the language of choice for older, less agile, businesses and can make professional development in these languages a drag.
- PHP is lightweight and flexible and can be used for many different types of web applications and scripting.
- PHP is easy to learn and get started quickly.
What you will need to know as a PHP developer.
The basic stack of a php developer is known as LAMP. This stands for: Linux : the web server’s operating system Apache: HTTP server that runs on linux that handles serving up you page to the web (and much more). MySQL: A database that easily integrates with PHP PHP : You server side programming language.
Getting started. Set up your development playground.
Hosting companies lease web servers that come out of the box ready to get started quickly with PHP development and can be super cheap. If you already have hosting skip to the next section. If not, I have researched and tried out many different providers and recommend going with Bluehost. They have hosting that is quick, reliable, cheap, and their server stack very standard in enterprise settings.
Training websites and video tutorials.
The best way by far to learn PHP I have found is through training sites. Many books use outdated versions of PHP or web server set ups, and have programming typos or syntax errors that cause more headache than they are worth. It is also hard to find books written by current web developers that are actually skilled in PHP or have professional experience. Most of the books I found are written by technical reviewers, retired programmers, or professors of some sort. I am not saying that good sources don’t exist, but you will spend way too much time trying to find the right content and sifting through what is relevant. Most of the best content that is written by accomplished developers is in an online format, and best of all the most of it is interactive which speeds up the learning curve.
The best two websites I have found for learning php easily are www.codecademy.com and www.teamtreehouse.com. Codecademy is a free training website that takes you through the basics of the programming language in a way that allows you to write your own code alongside the tutorial and win badges along the way. It is an incredible website that will help you start a base of knowledge and develop good programming habits from the start. Teamtreehouse has a similar learning style but takes you through video tutorials that have more of practical application to what you have learned. These two sites are all you need to learn enough to develop enough of a base understanding to get started your first application. For more practical applications, I recommend http://net.tutsplus.com/category/tutorials/php/. Most of the tutorials here will take you through start to finish building some basic web applications.
Try and set aside a couple hours a day to going through the material and a couple hours to working on a project. These websites are also great resources for learning front end and design as well.