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

tinkerwell logo
Tinkerwell

Enjoy coding and debugging in an editor designed for fast feedback and quick iterations. It's like a shell for your application – but with multi-line editing, code completion, and more.

Visit Tinkerwell

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article