Glossary
Magic Number
PHP 5.0+
1
A numeric literal with no explanation — its meaning is unclear without context, harming readability and maintainability.
5mo ago
Code Quality beginner
Executing one query to get N records, then N more queries to fetch related data — one per record.
5mo ago
Performance intermediate
OPcache
PHP 5.5+
11
A PHP extension that caches precompiled bytecode in shared memory, eliminating repeated parsing and compilation overhead.
5mo ago
PHP intermediate
Prepared Statement
PHP 5.1+
2
A parameterised SQL query where data placeholders are bound separately from the query structure, preventing SQL injection.
5mo ago
PHP intermediate
Rate Limiting
PHP 5.0+
3
Restricting the number of requests a client can make in a given time window to prevent abuse, DoS, and credential stuffing.
CWE-770 OWASP A5:2021
5mo ago
Performance intermediate
Abstracts the data persistence layer behind an interface, decoupling domain logic from database implementation details.
5mo ago
General intermediate
An attacker forces a victim to use a known session ID, then hijacks their session after they authenticate.
CWE-384 OWASP A7:2021
5mo ago
Security intermediate
8.0
Single Responsibility Principle
PHP 5.0+
A class or function should have one reason to change — doing one thing and doing it well.
5mo ago
General beginner
SOLID Principles (Overview)
PHP 5.0+
1
Five object-oriented design principles — SRP, OCP, LSP, ISP, DIP — that together guide towards maintainable, extensible code.
5mo ago
Code Quality intermediate
Unsanitised user input inserted directly into a SQL query, letting attackers read, modify, or delete database data.
CWE-89 OWASP A3:2021
5mo ago
Security intermediate
9.8
Asymmetric Visibility (PHP 8.4)
PHP 8.4+
PHP 8.4 asymmetric visibility lets you set different access levels for reading and writing a property — public(get) protected(set) — without getter/setter methods.
PHP intermediate
Lazy Objects (PHP 8.4)
PHP 8.4+
PHP 8.4 native lazy objects defer object initialisation until first property access — previously requiring proxy libraries, now built into the engine via ReflectionClass.
PHP advanced
Property Hooks (PHP 8.4)
PHP 8.4+
PHP 8.4 property hooks attach get/set logic directly to a property declaration — eliminating getter/setter method boilerplate for common validation and transformation patterns.
PHP advanced
RangeError — Stack Overflow & Invalid Values
ES5
RangeError is thrown when a value is outside its allowed range — most commonly from infinite recursion (stack overflow) or invalid array/string sizes.
JavaScript intermediate