PHP - Taking the world by storm

PHP is one of the most widely used and recognizable technologies in use on the internet. Originally PHP stood for "Personal Home Page", though more recently it has been changed to stand for "PHP: Hypertext Preprocessor". However, no matter what it is called, PHP is a fundamental part of any dynamic web page.

PHP development began in 1994 as a personal project of Rasmus Lerdorf, who had created a series of Perl scripts which he referred to as his "Personal Home Page Tools" for the maintenance of his personal web page. In 1995 these tools were packaged and released as CGI binaries as the "Personal Home Page/Forms Interpreter", which included support for web forms and communication with databases.

After being released to the world at large, PHP underwent rapid refinement and development, with the second version of PHP/FI being released a mere two years later in November of 1997. PHP 3 was released in 1998, with PHP 4 and PHP 5 following in 2000 and 2004, respectively.

PHP 5 is the version currently in use on most websites and included several new features such as support for object-oriented programming, a consistent interface for database access, and several major performance enhancements.

While PHP has remained under development, the current development process which will eventually lead to PHP 6 has been slower than anticipated due to the difficulty of adding Unicode support. In 2010 it was decided to move Unicode support to a branch while moving all other features under development to the main trunk of the PHP code. However, in version 5.4 PHP finally added Unicode support, without a major version change.

PHP is released under the PHP license, which is similar to the GNU General Public License except that any derivative software may not be called "PHP" and may not have the name "PHP" in their name.

Currently, PHP has a plethora of uses that make it a wonderful tool for tackling any number of projects. Many major software products such as WordPress and phpBB use PHP to perform tasks such as running a blog or a forum. PHP also has unique capabilities such as the ability to dynamically generate images in a multitude of formats and access databases in many different formats.

PHP also has the capability of being embedded directly into a web page or being used from the command line, making it a powerful tool that can handle anything from displaying information pulled from a database to performing system tasks in a scheduled manner.

One important thing to remember about PHP is that it is a pre-processor, which means that any PHP scripts in a web page are executed before the page is displayed. This means that any PHP scripts in a page are unable to change that page after it has been displayed. There are multiple ways to work around this limitation, such as AJAX (Asynchronous Java Script and XML), which will allow you to change what is on a page without refreshing the entire page, but these technologies and methods are beyond the scope of this article.

The most common use of PHP is to access a database, parse the results from that database, and display the results on a web page. This is why PHP is the final part of the common acronym "LAMP", which stands for "Linux, Apache, MySQL, and PHP". A LAMP installation is one of the most common configurations for a web server and combines the powerful Apache web server with PHP and MySQL to allow for amazingly robust web pages and data management. In fact, these tools are frequently tuned to work together with little to no additional configuration.

It is important to note to anyone who uses PHP on a regular basis is that PHP most commonly executes with the same permissions as the web server software. From a security standpoint, it is important to remember that if something resides in your web directory on your server, an improperly written PHP script may be able to access it.

To conclude, PHP is a powerful language that has become one of the driving forces of the internet, and anyone who is considering a career in web development should make learning PHP a priority.