What is this technology good for?
PHP controls the flow of information from the Model to the View. In general, this means that PHP is responsible for getting information from the user and storing it to the database and conversely getting information from the database and showing it to the user.
Who can make use of PHP?
PHP is used as a means to process user information. Anything a user can input into a website can be processed by PHP. Such as:
- Registering Users, checking for duplicate usernames, sending new account emails, ensuring secure passwords, storing user information to the database
- Login Users, checking credentials, catching failure, building authenticated sessions, redirecting users to their account
- Uploading Images/Videos, creating thumbnails, compressing video, storing media in the cloud
- Processing order forms, surveys, emails, appointments or any other user-supplied information
PHP is also used to retrieve information from the database. Any information that needs to be pulled out can go through PHP. Such as:
- Retrieving orders, surveys, emails, appointments, images/videos, user information
- Searching for data by keyword
- Filtering data into categories
- Paginating through data results
Why should somebody use PHP over Python or Perl?
PHP has essentially replaced Perl. Perl was a little more difficult to use and had some quirks. Many systems in the 1990’s were built in Perl. But PHP was much easier to learn, much easier to setup on a server, documented better which lead to wider support and additional libraries which lead to package managers etc.
Python is also a really good language. The only advantage to using PHP over Python is developer familiarity. I am more familiar with PHP, so when faced with a problem that can be solved with PHP or Python, I choose PHP because I know I can solve it faster. Those who are more comfortable with Python would solve the same problem in Python.
What do I like about PHP?
In the beginning, I was choosing between whether to pursue Web Development with PHP or Java.
For the smallest change, in PHP I would be able to save the change and refresh the website to test the change. With Java, I had to make the change, compile the class, package the Jar, move the Jar to the correct location and restart the web server in order to load the new Jar. It was quite a bit more tedious and so I gravitated towards PHP for the sake of more rapid development.
I like PHP’s package manager Composer. It makes it easy to bring in support for a third party API like Google Maps, or Facebook App. It also makes it easy to manage and upgrade those dependencies over time.
I like that it works very well with Databases in particular MySQL.
I like that frameworks like Symfony have been developed for PHP which defines a set of best practices and rules to follow to keep code manageable for large teams.
Best of all, I like the documentation on PHP.net and how easy it is to solve common problems through advice on Stack Overflow.