← Home ← Codex ← DEBT
Browse by Category
+ added · updated 7d
✦ This isn't a glossary anymore

A curated knowledge graph with editorial governance

A typical glossary gives you terms, definitions, and a search box. This goes further.

Terms are connected by reviewed, typed relationships, making it possible to follow how ideas relate across the entire corpus. Every connection is sourced, reviewed, and tracked, while the system continuously checks for missing links, dead references, and gaps in coverage.

The result is less a glossary and more a curated knowledge graph — designed not just to define concepts, but to show how they connect.

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
.env Files & Environment Variables PHP 5.6+ 🧠 4
Storing configuration in environment variables (not source code), loaded from a .env file in development via libraries like vlucas/phpdotenv.
OWASP A2:2021
php beginner
.gitignore for PHP Projects PHP 5.0+
A well-structured PHP .gitignore excludes vendor/, generated files, IDE configs, .env secrets, and OS artifacts from version control.
style beginner
abstract (Classes & Methods) PHP 5.0+ 🧠 1
PHP keyword that prevents instantiation and enforces method implementation in subclasses.
php beginner
Accessible Data Tables
HTML tables marked up with correct semantic elements and ARIA roles so screen readers can announce cell context — column header, row header, and position — to the user.
accessibility beginner
Diagram: Allowlist vs Blocklist Allowlist vs Blocklist PHP 5.0+
Allowlists define what is permitted; blocklists define what is forbidden. Allowlists are always more secure.
general beginner
Anchors & Word Boundaries PHP 5.3+ 🧠 1
Zero-width assertions that match positions rather than characters — ^ matches start of string, $ matches end, \b matches a word boundary — ensuring patterns match in the correct location.
regex beginner
API Key Exposure 🧠 2
API keys committed to version control, logged, or exposed in client-side code can be harvested and abused by attackers.
CWE-312 OWASP A2:2021
security beginner 9.1
Diagram: Architecture Decision Records (ADRs) Architecture Decision Records (ADRs)
Short documents capturing the context, decision, and rationale for significant architectural choices — creating an institutional memory of why the system is built the way it is.
general beginner
ArgumentCountError — Wrong Arg Count PHP 7.1+
PHP 7.1+ throws ArgumentCountError when too few arguments are passed to a function — too many arguments are silently ignored (unless using strict_types).
php beginner
Array.flat() & Array.flatMap() ES2019
Array.flat(depth) flattens nested arrays; Array.flatMap() maps then flattens one level — more efficient than map().flat() and great for expanding items.
javascript beginner
array_column() — Plucking Values from Arrays PHP 5.5+
array_column() extracts a single column from a multi-dimensional array or array of objects — the idiomatic PHP replacement for foreach loops that build lookup arrays, and for creating ID-indexed maps.
php beginner
array_find() / array_find_key() (PHP 8.4) PHP 8.4+ 🧠 4
PHP 8.4 adds array_find() and array_find_key() — built-in functions that return the first element (or key) matching a callback predicate, replacing verbose foreach loops or array_filter() + reset() patterns.
php beginner
Arrays PHP 5.0+ 🧠 9
The most fundamental data structure — a contiguous block of memory holding elements of the same type, offering O(1) index access but O(n) insertion and deletion in the middle.
data_structures beginner
Arrow Functions (PHP 7.4) PHP 7.4+ 🧠 1
Concise single-expression anonymous functions using fn() that implicitly capture outer-scope variables by value.
php beginner
Arrow Functions fn() => (PHP 7.4) PHP 7.4+
PHP 7.4 arrow functions (fn($x) => $x * $factor) are short closures that automatically capture outer scope — no more use($var) boilerplate.
php beginner
Diagram: Asset Versioning & Browser Cache Strategy Asset Versioning & Browser Cache Strategy 🧠 1
Serving static assets with immutable long-lived cache headers plus content-hash filenames — maximising cache hits while guaranteeing instant cache-busting on change.
performance beginner
Assigning new by Reference PHP 8.1+
Writing $obj = &new ClassName() — assigning a new object by reference is redundant in PHP 5+ where objects are already passed by handle, not value.
php beginner
basename() PHP 5.0+ 🧠 1
Returns only the filename component of a path, stripping any directory prefix — a simple path traversal defence.
php beginner
Bike-Shedding
Spending disproportionate time on trivial, visible decisions (tab vs space, variable naming) while complex, important decisions receive inadequate attention.
general beginner
Blameless Culture
An organisational norm where incidents and mistakes are treated as systemic learning opportunities rather than individual failures deserving punishment.
general beginner
✓ schema.org compliant