This is a series of PHP lessons aimed at the novice programmer, made exclusively for WebMasterServe.com with the goal of taking you from Zero to the point of creating your very own custom basic Content Management System in PHP. Enjoy!So you want to learn programming
Good choice! This time and age, you can't go wrong with learning the skill of the present and the foreseeable future. As long as there are computing devices around us, there is going to be the need and opportunity of programming them.
When you learn to program, you get to understand better the digital world you inevitably live in. You get to know the logic behind computing, get to appreciate “the beauty in the design” and get to enjoy the warm gooey feeling of seeing the results you wanted being brought to life as you manipulate the code, leaping from passively consuming technology to becoming an active part of the experience.
Programming is a journey that pays. Let's sift through the misconceptions, learn the foundations and ultimately unleash your creativity to build something you can be proud of. Welcome to programming!
[ You will need PHP-enabled hosting, check WebMasterServe's recommendations! ]
The big misconception
There is a common misconception floating in the air: programming computers is one and the same.
People who have this thinking believe that a person who “knows how to program computers” can make any type of program for any possible computer field and device in existence. This is akin to expecting a certain doctor to have the skill-set required to perform any type of surgery on any person in the world, something not realistic.
The reality is you end up programming specific tasks with specialized tools (i.e. an specific programming language). Some of these tools just happen to be the right one for the current job at hand.
In computing, you have a very diverse landscape of domains for your programs: microcontrollers, gaming consoles, the traditional desktop, mobile apps, the web... As much as you have the 2D and 3D design fields, you also have many sub-fields in programming.
The correct conception or approach when you deal with programming computers is learning the precise subset of tools that make you successful in the field you are aiming your program to cover, this is, your target.
There is no right or wrong choice of a programming language for getting your hands busy and begin programming. There are only better languages for a certain target, those that are more suitable to the field. You will notice the concepts employed are roughly the same across systems; it is their specific implementation what makes the difference.
We are going to start our programming journey with a very specific ultimate goal: creating a small custom content management system for you to use and extend.
Something to bear in mind as we begin: in web programming you have two separate fields demanding different skill sets for distinct target tasks. They are:
- Front-end programming – Dealing with the interface, what the user sees.
- Back-end programming – Involving all the data-procesing services that the user does not see.
You are choosing the lingua franca
Why PHP? PHP is ubiquitous. It can be considered the lingua franca or “trade language” of server-side programming.
According to some estimates, like W3Tech, PHP's market share is as high as 81.7%.
This is a tried-and-true technology, in the real world. You can see PHP featured as an integral part of popular stacks such as LAMP (Linux, Apache, MySQL, PHP), LEMP (Linux, Nginx, MariaDB/MySQL, PHP) and plenty of different bundles covering Windows, Mac, BSD and other platforms used for back-end processing.
[ Hint: All of WebMasterServe's sponsors/partners offer PHP ]
Server-side programming is regular programming
...and as such, you need to manage several concepts to properly understand why things are the way they are.
We are going to review some foundational key theory and a bit of relevant computer history for you to know and -hopefully- spark your interest to comprehend what you are dealing with as a programmer.
Please take a step back on your axiety to hit the actual code and pay attention; as a computer programmer you can only be good to understand the facts of the field, from the lower-level up.