← Home ← Codex ← DEBT ← Engine
Browse by Category
+ added · updated 7d
✕ Clear 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
nginx + PHP-FPM Production Config PHP 5.0+ 🧠 2
The canonical nginx + PHP-FPM setup for PHP production — nginx handles static files and slow clients, PHP-FPM runs PHP via FastCGI, with proper timeout, buffer, and security settings.
6mo ago DevOps intermediate
Null Coalescing Operator Not Used PHP 7.0+
Using isset() + ternary or if/else chains when the null coalescing operator (??) or null coalescing assignment (??=) would be cleaner and more idiomatic.
6mo ago Style beginner
N+1 Problem in Doctrine & Eloquent PHP 7.0+
Accidentally issuing one query per related entity instead of one JOIN — the most common ORM performance pitfall, solved by eager loading.
6mo ago Performance intermediate
Diagram: N+1 Queries — Detection & Fix N+1 Queries — Detection & Fix PHP 5.0+ 🧠 1
Issuing one query per row of a result set instead of a single JOIN — the most common database performance mistake in any ORM-based application.
6mo ago Database intermediate
Named Arguments (PHP 8.0) PHP 8.0+ 🧠 1
Pass arguments to a function by parameter name rather than position, improving readability and allowing optional parameters to be skipped.
6mo ago PHP beginner
Named Arguments in Built-in PHP Functions PHP 8.0+
PHP 8.0 named arguments work with built-in functions — enabling readable calls to functions with many optional parameters like array_slice().
6mo ago PHP intermediate
Named Arguments with Spread Operator PHP 8.1+
Combining PHP 8.0 named arguments with the ... spread operator to unpack associative arrays as named parameters.
6mo ago PHP intermediate
Named Constructor Pattern PHP 5.0+ 🧠 3
Static factory methods with descriptive names that replace overloaded constructors — making object creation intent clear when multiple creation paths exist.
6mo ago PHP intermediate
Naming Conventions PHP 5.0+ 🧠 1
Consistent naming rules for classes, methods, variables, and constants that make code self-documenting and predictable.
6mo ago Style beginner
never Return Type (PHP 8.1) PHP 8.1+
Declares that a function never returns normally — it always throws an exception or calls exit(), helping static analysers prove code paths.
6mo ago PHP intermediate
never Return Type (PHP 8.1) PHP 8.1+
Declaring a function's return type as never signals it always throws or exits — enabling static analysers to prune unreachable code branches.
6mo ago PHP intermediate
Null Byte Injection PHP 5.0+
Inserting a %00 null byte into a filename or string can truncate it at the C layer, bypassing extension checks.
CWE-626 OWASP A3:2021
6mo ago Security intermediate 7.5
Null Coalescing Operator (??) PHP 7.0+ 🧠 1
Returns the left operand if it exists and is not null, otherwise the right — cleaner than isset() ternary chains.
6mo ago PHP beginner
Null Object Pattern PHP 5.0+
Replace null with an object that implements the expected interface but performs no operation, eliminating null checks throughout the codebase.
6mo ago Code Quality intermediate
Null Safety — Null Object vs Optional PHP 7.1+
Strategies for eliminating null reference errors: the Null Object Pattern provides a safe default; Optional-style wrapping makes nullability explicit.
6mo ago Code Quality intermediate
Nullable Types (?Type) PHP 7.1+
Declaring a type as ?Type allows either a value of that type or null — shorthand for Type|null.
6mo ago PHP beginner
Nullsafe Operator (?->) PHP 8.0+
Chains method calls and property accesses on potentially-null objects without nested null checks; returns null on the first null encounter.
6mo ago PHP beginner
Nullsafe Operator Chaining (?->) PHP 8.0+
PHP 8.0's ?-> short-circuits an entire method chain to null when any step returns null — eliminating nested null checks.
6mo ago PHP intermediate
Diagram: N+1 Query Problem N+1 Query Problem PHP 5.0+ 🧠 1
Executing one query to get N records, then N more queries to fetch related data — one per record.
7mo ago Performance intermediate
✓ schema.org compliant