Tag: php8
🤖 AI Guestbook — #php8 educational data only
|
|
Last 30 days
Agents 16
Claude 15PetalBot 1
PetalBot 15Google 1Sogou 1ChatGPT 1Ahrefs 1SEMrush 1
Amazonbot 393Scrapy 391Perplexity 296ChatGPT 248Ahrefs 198Google 163SEMrush 130Unknown AI 99Claude 67Bing 49Meta AI 46PetalBot 43Majestic 27Sogou 8Qwen 3
Most referenced — #php8
create_function() — The Dynamic Code Smell 2Constructor Property Promotion (PHP 8.0) 2Nullsafe Operator (?->) 2Database Query Result Streaming 2Argon2 Password Hashing 1Type Safety in PHP (strict_types & Static Analysis) 1PHP JIT — When It Helps (and When It Doesn't) 1Fibers in Practice (Revolt / Amp) 1
How they use it
crawler 2k
crawler_json 156
pre-tracking 22
Tag total2.2k pings
Terms pinged46 / 46
Distinct agents14
Database Query Result Streaming
PHP 8.0+
2
Processing large result sets row-by-row without loading the entire dataset into memory - essential for PHP CLI scripts handling millions of rows.
2mo ago
Database intermediate
Attributes #[] Replacing Docblock Annotations
PHP 8.0+
PHP 8.0 native attributes (#[Route('/home')]) replace fragile DocBlock @annotations — they're syntactically valid, parseable without reflection hacks, and supported by IDEs and static analysis.
3mo ago
PHP intermediate
create_function() — The Dynamic Code Smell
PHP 4.0+
8
create_function() created anonymous functions from strings — deprecated PHP 7.2, removed PHP 8. It used eval() internally, risked code injection, and was always replaceable with proper closures.
3mo ago
PHP intermediate
each() & list() — Deprecated Iteration
PHP 3.0+
each() was deprecated in PHP 7.2 and removed in PHP 8 — replace while(list($k,$v)=each($arr)) with foreach. list() itself is still valid as [] destructuring.
3mo ago
PHP beginner
JIT Compiler Introduction (PHP 8.0)
PHP 8.0+
PHP 8.0's JIT (Just-In-Time) compiler compiles hot bytecode to native machine code at runtime — significant gains for CPU-bound tasks, minimal gains for typical web requests.
3mo ago
PHP advanced
match Expression (PHP 8.0)
PHP 8.0+
PHP 8.0's match is a stricter switch — uses strict (===) comparison, each arm is an expression (not statements), returns a value, and throws UnhandledMatchError if no arm matches.
3mo ago
PHP beginner
Migrating from PHP 7 to PHP 8
PHP 7.0+
PHP 7→8 migration: fix type coercion changes (stricter), remove deprecated functions (each(), create_function()), update match/constructor promotion, check third-party compatibility.
3mo ago
PHP intermediate
Named Arguments (PHP 8.0)
PHP 8.0+
PHP 8.0 named arguments let you pass values by parameter name — skipping optional params, self-documenting calls, and enabling out-of-order argument passing.
3mo ago
PHP beginner
Opaque Objects & GdImage/CURLHandle
PHP 8.0+
PHP 8.0 replaced resource types (gd, curl, xml) with opaque objects — GdImage, CurlHandle, XMLParser — improving type safety and OOP integration.
3mo ago
PHP intermediate
PHP 8 — Key Features
PHP 8.0+
PHP 8.0–8.4 introduced match expressions, named arguments, union types, nullsafe operator, fibers, enums, readonly properties, first-class callables, and a JIT compiler — the most significant evolution of the language since PHP 5.
3mo ago
PHP intermediate
match() Default Arm vs No Default
PHP 8.0+
match() without a default arm throws UnhandledMatchError if no arm matches — unlike switch, which silently falls through.
3mo ago
PHP intermediate
str_contains / str_starts_with / str_ends_with
PHP 8.0+
PHP 8.0 added str_contains(), str_starts_with(), and str_ends_with() — replace strpos() !== false patterns with these readable alternatives.
3mo ago
PHP beginner
String Offset Curly Brace Syntax
PHP 5.0+
Using $str{0} to access string characters by index — deprecated since PHP 7.4 and removed in PHP 8.0; use square bracket syntax $str[0] instead.
3mo ago
PHP beginner
The Password Hashing Competition winner (2015) — a memory-hard algorithm that resists GPU and ASIC brute-force attacks better than bcrypt.
OWASP A2:2021
3mo ago
Security intermediate
Array Unpacking with String Keys (PHP 8.1)
PHP 8.1+
PHP 8.1 allows the spread operator to unpack arrays with string keys — previously only integer-keyed arrays could be spread.
3mo ago
PHP intermediate
Attributes / Annotations (PHP 8.0)
PHP 8.0+
Native structured metadata attached to classes, methods, properties, and parameters using #[AttributeName] syntax.
3mo ago
PHP intermediate
Built-in PHP Attributes
PHP 8.0+
PHP 8.0+ ships built-in attributes — #[Deprecated], #[Override], #[AllowDynamicProperties], #[SensitiveParameter] — for tooling and runtime hints.
3mo ago
PHP intermediate
Constructor Property Promotion (PHP 8.0)
PHP 8.0+
Declare and assign class properties directly in constructor parameters using visibility modifiers, eliminating boilerplate.
3mo ago
PHP beginner
Disjunctive Normal Form Types (PHP 8.2)
PHP 8.2+
2
DNF types combine intersection and union types with parentheses — (Countable&Iterator)|null — filling gaps in PHP 8.0/8.1's type system.
3mo ago
PHP advanced
Enum Methods, Interfaces & Constants (PHP 8.1)
PHP 8.1+
PHP 8.1 enums support methods, interface implementation, constants, and static factory methods — making them full-featured types, not just value lists.
3mo ago
PHP intermediate