Lesson 1 / 25
What PHP Is Today
Describe PHP's role on the web, its execution model and its modern versions.
A server-side language that grew up
PHP is a general-purpose scripting language designed for the web. A web server hands each HTTP request to PHP, which runs your script, produces a response (usually HTML or JSON) and then throws away all state at the end of the request: the shared-nothing model. That makes PHP simple to deploy and scale horizontally, because no request depends on memory left by another. PHP powers a large share of websites, including WordPress, Wikipedia and many e-commerce platforms, and modern frameworks such as Laravel and Symfony are widely used for new applications. Forget old reputations: since PHP 7 (2015), performance roughly doubled, and the PHP 8 series added a JIT compiler, union types, named arguments, match, enums, readonly properties, first-class callables, typed class constants and, in PHP 8.4, property hooks and asymmetric visibility. Each version gets two years of active support plus security fixes, so production code should run on a currently supported 8.x release. Package management is handled by Composer, and coding standards by the PHP-FIG PSR recommendations.
Request in, response out, state discarded
Each request starts fresh, runs the script and discards its memory when the response is sent.
A small modern PHP script
Strict types, typed functions and string interpolation.
<?php
declare(strict_types=1);
function greet(string $name, int $hour): string
{
$part = match (true) {
$hour < 12 => 'morning',
$hour < 17 => 'afternoon',
default => 'evening',
};
return "Good {$part}, {$name}!";
}
echo greet('Asha', (int) date('G')), PHP_EOL;
// run from the terminal: php hello.phpAlways target a supported version
Unsupported PHP versions receive no security fixes. Check the official supported-versions page when starting a project and plan upgrades yearly; modern tooling (Rector, PHPStan) makes them much easier than they used to be.
Quick check: What does PHP's shared-nothing model mean?
- Each request starts with fresh state, which is discarded when the request ends
- All requests share one global memory space
- PHP cannot use databases
- PHP runs only on one CPU core
Answer
Each request starts with fresh state, which is discarded when the request ends — Request isolation keeps PHP simple to scale; persistent data lives in databases, caches or sessions.