Php terms
The engine behind the web's most-used server-side language
PHP powers an enormous portion of the web — from WordPress and Laravel to custom e-commerce platforms. This category covers the language internals, core functions, OOP features, type system, performance patterns, and PHP-specific quirks that every serious PHP developer should understand deeply. Whether you are writing procedural scripts or building full-stack applications with modern PHP 8.x features, these terms form the foundation.
Abstract readonly Properties PHP 8.4+
PHP 8.4 allows abstract readonly properties in abstract classes and interfaces — defining that implementations must provide a readonly property of a specific type.
2mo ago
php advanced
Anonymous Functions / Closures (PHP 5.3) PHP 5.3+
PHP 5.3 introduced anonymous functions (closures) — function() {} expressions assignable to variables, passable as callbacks, and able to capture outer scope with use().
2mo ago
php intermediate
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.
2mo ago
php beginner
array_find() / array_find_key() (PHP 8.4) PHP 8.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.
2mo ago
php beginner
array_map / filter / reduce as FP Patterns PHP 5.3+
PHP's array_map(), array_filter(), and array_reduce() enable functional-style data transformation pipelines — cleaner than imperative loops for many common patterns.
2mo ago
php intermediate
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.
2mo ago
php beginner
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.
2mo ago
php intermediate
Accessing Undeclared Properties (PHP 8.2+) PHP 8.2+
PHP 8.2 deprecated dynamic (undeclared) properties — PHP 9 will make them an error. Declare all properties explicitly or use AllowDynamicProperties.
2mo ago
php intermediate
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).
2mo ago
php 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.
2mo ago
php beginner
Asymmetric Visibility (PHP 8.4) PHP 8.4+
PHP 8.4 allows separate read and write visibility on properties — public(get) private(set) means anyone can read but only the class can write.
2mo ago
php intermediate
abstract (Classes & Methods) PHP 5.0+
PHP keyword that prevents instantiation and enforces method implementation in subclasses.
2mo ago
php beginner
Abstract Classes PHP 5.0+
Non-instantiable classes that define shared behaviour and enforce subclasses to implement required methods.
2mo ago
php intermediate
Advanced Array Functions PHP 5.0+
PHP's array_walk, usort, array_reduce, array_column, and array_combine enable expressive data transformation without explicit loops.
2mo ago
php intermediate
allow_url_fopen / allow_url_include PHP 5.0+
PHP INI settings that permit file functions and include/require to load remote URLs — a major SSRF and RFI enabler.
CWE-98 OWASP A5:2021
2mo ago
php intermediate
9.8
Anonymous Classes (PHP 7.0) PHP 7.0+
Classes without a name, defined inline with new class — useful for one-off implementations and test doubles.
2mo ago
php intermediate
Array Destructuring ([] = …) PHP 7.1+
PHP's short list() syntax — [$a, $b] = $arr — assigns array elements to variables in a single expressive statement.
2mo ago
php 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.
2mo ago
php intermediate
Arrow Functions (PHP 7.4) PHP 7.4+
Concise single-expression anonymous functions using fn() that implicitly capture outer-scope variables by value.
2mo ago
php beginner
assert() — Code Execution Risk PHP 5.0+
Passing a string to assert() causes PHP to evaluate it as code, equivalent to eval() if the argument is user-controlled.
CWE-95 OWASP A3:2021
2mo ago
php intermediate
9.8