What is PHP?
PHP is a general-purpose scripting language. While it can be used for command-line scripts and even graphical programs installed on your computer, it was built specifically for and is primarily used to do web development. It runs on the server, rather than in the browser, and is the basis for the popular blogging software, WordPress, as well as quite a few Model View Controller (MVC) frameworks. It’s a fairly complete language in and of itself, has an enormous array of third party software available, and has drivers for most popular databases. You can run PHP with Apache, Nginx, and IIS, so it can be installed pretty much everywhere.
PHP is not compiled, like Java, which has lead to some complaints about its performance. However, as an interpreted language, it leads to much faster development time as programmers don’t need to stop and compile each small change. PHP can be used for simple scripting or full-fledged object-oriented development, making it suitable for a wide array of uses.
PHP was created by Rasmus Lerdorf in 1994 as a collection of tools, written in C, that he used to manage his personal website. It was originally called “Personal Home Page/Forms Interpreter,” or PHP/FI, and was particularly helpful for writing HTML forms. He then released it to the public in 1995 as “Personal Home Page Tools (PHP Tools)”, and it started to catch on. It was similar to Perl, a popular language at the time, but easier to use as it could be integrated directly with the HTML of a website.
The collection of tools were not originally intended to be a programming language and, as such, evolved rather organically. This created many inconsistencies, such as in the ordering of function parameters. But, its popularity continued to grow, and new versions were released with more and more functionality. The parser for PHP 3 was rewritten by Zeev Suraski and Andi Gutmans, two developers who eventually founded Zend Technologies, providing the Zend Engine for PHP 4 and subsequent versions. With PHP 3, the name was changed to the acronym “PHP: Hypertext Preprocessor” to help indicate that it had moved beyond simple personal homepage tools.
In 2004, PHP 5 was released with proper support for object-oriented programming and greatly improved performance thanks to the Zend Engine II parser. Many developers considered PHP to have finally reached parity with other programming languages at this point, and its popularity continued to escalate.
The PHP development team attempted to bring native Unicode support throughout the entire language with PHP 6. However, the project lacked the development staff required to pull off this ambitious goal. Due to the performance problems it introduced, PHP 6 was eventually abandoned, and the new non-Unicode features were instead backported to PHP 5.3 and 5.4.
PHP 7 was released with a complete rewrite of the Zend Engine, providing nearly a 100% performance improvement. It focused on changes to enable Just-In-Time (JIT) compilation, which will be released in the upcoming PHP 8. JIT will provide further performance improvements, but only in some very specific cases.
If you are developing specifically for a Windows IIS server, then ASP.net might be a better choice for performance and Windows built-in tools. But, if you are sticking with the open-source Linux environment, then PHP has some strong competition from Python and Ruby. Both languages have large developer communities and a plethora of open-source tools. Ruby is a purely object-oriented language, which some developers appreciate. Python, similar in style and functionality to PHP, uses significant white space. This means, to end a function, you just tab back out. This can be infuriating for beginners, but it does lead to very consistent and readable code across the Python universe.
The information presented on php.net is often considered to be the gold standard of web-based documentation. It is thorough, searchable, multi-lingual, and packed with helpful user-generated comments. PHP itself is a very approachable language, making it easy to get started with, but powerful enough to scale up to large professional projects. It’s one of the most commonly installed languages on web servers, so if you have access to a web server, just type “which php” in the terminal to see if it’s available.
Being one of the most commonly used languages, you will be able to search the web for fantastic articles, videos, and StackOverflow answers to any PHP questions you might have. There is a large and vibrant community of PHP developers, so PHP is a great choice of language for creating high-performing and user-friendly web applications.