← Home ← Codex ← DEBT
Browse by Category
+ added · updated 7d
🤖 AI Guestbook — #php8 educational data only
| |
Last 30 days
3 pings — 2026-05-26 T 20 pings — 2026-05-27 W 48 pings — 2026-05-28 T 19 pings — 2026-05-29 F 13 pings — 2026-05-30 S 8 pings — 2026-05-31 S 9 pings — 2026-06-01 M 9 pings — 2026-06-02 T 16 pings — 2026-06-03 W 43 pings — 2026-06-04 T 68 pings — 2026-06-05 F 66 pings — 2026-06-06 S 110 pings — 2026-06-07 S 65 pings — 2026-06-08 M 43 pings — 2026-06-09 T 39 pings — 2026-06-10 W 12 pings — 2026-06-11 T 27 pings — 2026-06-12 F 14 pings — 2026-06-13 S 1 ping — 2026-06-14 S 15 pings — 2026-06-15 M 19 pings — 2026-06-16 T 20 pings — 2026-06-17 W 8 pings — 2026-06-18 T 19 pings — 2026-06-19 F 11 pings — 2026-06-20 S 27 pings — 2026-06-21 S 11 pings — 2026-06-22 M 20 pings — Yesterday T 16 pings — Today W
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
crawler 2k crawler_json 156 pre-tracking 22
Tag total2.2k pings Terms pinged46 / 46 Distinct agents14
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
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
Diagram: Argon2 Password Hashing Argon2 Password Hashing PHP 7.2+ 🧠 3
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
✓ schema.org compliant