Beginner terms
PDO Introduction — Replacing mysql_* with Prepared Statements
PHP 5.1+
PDO (PHP Data Objects), introduced in PHP 5.1, provided a unified database abstraction layer with named parameters and prepared statements — finally making SQL injection prevention structurally reliable.
3mo ago
php beginner
PHP End-of-Life Schedule & Security Implications
PHP 5.0+
Each PHP minor version receives active support for 2 years and security-only fixes for 1 more year — running an EOL PHP version means no patches for discovered vulnerabilities.
3mo ago
php beginner
package.json & npm — Alongside composer.json
npm3
package.json manages JS dependencies and build scripts for PHP projects using JavaScript — the npm counterpart to Composer.
3mo ago
javascript beginner
Pareto Principle in Engineering
The 80/20 rule — roughly 80% of effects come from 20% of causes. In engineering: 80% of bugs come from 20% of modules, 80% of performance gains from 20% of optimisations.
3mo ago
general beginner
pathlib & Modern File Handling
Python 3.4+
pathlib.Path provides an object-oriented API for filesystem operations — replacing os.path string manipulation with readable, chainable, and cross-platform path handling.
3mo ago
python beginner
Poor Variable Naming
Single-letter variables, cryptic abbreviations, or meaningless names like $data and $tmp — forcing readers to hold context in their head that the name should provide.
3mo ago
quality beginner
Pull Request Description Templates
Structured PR templates in .github/PULL_REQUEST_TEMPLATE.md that prompt authors for context, testing evidence, and checklists — improving review quality and reducing reviewer cognitive load.
3mo ago
style beginner
Pagination Strategies
PHP 5.0+
Techniques for splitting large result sets across pages to avoid loading unbounded data in a single query.
3mo ago
performance beginner
Pair Programming
Two developers work together at one workstation — one writing code (driver), one reviewing and guiding (navigator).
3mo ago
general beginner
Parameter Tampering
Modifying HTTP request parameters — query strings, POST fields, cookies, or hidden fields — to manipulate application business logic.
CWE-472 OWASP A1:2021
3mo ago
security beginner
8.1
password_hash()
PHP 5.5+
PHP's built-in function for securely hashing passwords using bcrypt or Argon2 with automatic salting.
3mo ago
php beginner
password_verify()
PHP 5.5+
Checks a plaintext password against a bcrypt/Argon2 hash produced by password_hash() — the correct way to validate passwords.
3mo ago
php beginner
PHP CLI & Command-Line Scripts
PHP 5.0+
3
Running PHP from the command line for scripts, queue workers, cron jobs, and interactive tools — a distinct execution context from web requests.
3mo ago
php beginner
PHP Data Types
PHP 7.0+
PHP's eight primitive types — bool, int, float, string, array, object, callable, null — and how the type system coerces between them.
3mo ago
php beginner
PHP Namespaces
PHP 5.3+
Logical groupings that prevent class name collisions and form the basis of PSR-4 autoloading.
3mo ago
php beginner
Server-side storage keyed by a session ID cookie — the correct place to store authorisation state.
3mo ago
php beginner
PHP-CS-Fixer vs PHP_CodeSniffer
PHP 7.1+
Two PHP code style tools: PHP_CodeSniffer detects and optionally fixes violations, PHP-CS-Fixer auto-fixes code to match a configured style — both enforce consistent formatting across a codebase.
3mo ago
style beginner
PHPDoc / Docblock
PHP 5.0+
Structured comment blocks that document functions, classes, and properties — read by IDEs, static analysis tools, and documentation generators.
3mo ago
style beginner
Premature Optimisation
Optimising code before measuring where the actual bottleneck is — trading readability for performance gains that often don't matter.
3mo ago
quality beginner
Principle of Least Astonishment
Code should behave in a way that minimises surprise — functions should do what their name implies, with no unexpected side effects.
3mo ago
quality beginner