News

20 Years of PHP

Published

PHP turned 20 this week which makes me really start to feel my age. I first found PHP around the year 2000 and at the time the popular choices in web languages was ASP, PHP, Coldfusion, or Perl. I distinctly remember being confused by the paradox of choice. PHP ended up winning for me because it was cheaper to host and seemed to be supported everywhere.

To celebrate the birthday, Ben Ramsey shared a really cool timeline of tweets with all the big events over the years. He also a wrote an article for infoworld on PHP’s history.

PHP didn’t start out as a language, and this is clear from its design — or lack thereof, as detractors point out. It began as an API to help Web developers access lower-level C libraries. The first version was a small CGI binary that provided form-processing functionality with access to request parameters and the mSQL database. And its facility with a Web app’s database would prove key in sparking our interest in PHP and PHP’s subsequent ascendancy.

I will forever remember creating my first sites like this in the PHP 3.x days:

<?php include('header.php'); ?>
<?php $sql = "select * from posts where id = $_GET['id']"; ?>
//..
<?php include('footer.php'); ?>

Yes, that’s bad. Don’t ever do that. :) The language has changed a lot since then, and thanks to the community the tips and tutorials have also vastly improved.

Here’s to 20 more!

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Filed in

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Look What You Helped Me Build image

Look What You Helped Me Build

Read article
BashBox: A Sandboxed Bash Interpreter for AI Agents in PHP image

BashBox: A Sandboxed Bash Interpreter for AI Agents in PHP

Read article
Running Laravel's Scheduler on Multiple Servers image

Running Laravel's Scheduler on Multiple Servers

Read article
Laravel Fake Assertions Now Accept Property Arrays image

Laravel Fake Assertions Now Accept Property Arrays

Read article
Route::query() and Model defaults() in Laravel 13.35 image

Route::query() and Model defaults() in Laravel 13.35

Read article
Laravel AI SDK 1.1 Adds Agent Skills and Cohere Chat image

Laravel AI SDK 1.1 Adds Agent Skills and Cohere Chat

Read article