← Home ← Codex ← DEBT
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
MySQL AUTO_INCREMENT
A column attribute that automatically assigns sequential integer IDs on INSERT — the standard primary key pattern in MySQL.
2mo ago database beginner
MySQL charset=utf8mb4 PHP 5.1+
The correct MySQL character set for full Unicode support — including emoji and supplementary characters that the older utf8 charset cannot store.
2mo ago php beginner
MySQL Date and Time Types
DATETIME, TIMESTAMP, DATE, TIME, and YEAR — each with different ranges, timezone handling, and storage sizes.
2mo ago database beginner
MySQL DSN (Data Source Name) PHP 5.1+
The connection string passed to PDO specifying the database driver, host, port, database name, and charset.
2mo ago php beginner
MySQL ENUM Type
A column that accepts only predefined string values — stored efficiently as integers but with significant schema change pain.
2mo ago database beginner
MySQL JOIN Types
INNER JOIN, LEFT JOIN, RIGHT JOIN, and CROSS JOIN — controlling which rows are included when combining tables.
2mo ago database beginner
MySQL NULL Handling
NULL in SQL represents an unknown value — it is not zero, not empty string, and comparisons with = NULL are always false.
2mo ago database beginner
MySQL Numeric Types
INT, BIGINT, DECIMAL, FLOAT, DOUBLE — the right type prevents overflow, precision loss, and money calculation bugs.
2mo ago database beginner
MySQL String Types: VARCHAR vs TEXT vs CHAR
CHAR is fixed-length, VARCHAR is variable-length up to 65,535 bytes, TEXT variants store large content — each with different indexing and storage behaviour.
2mo ago database beginner
match Expression (PHP 8.0) PHP 8.0+
PHP 8.0's match is a stricter switch — uses strict (===) comparison, each arm is an expression (not statements), returns a value, and throws UnhandledMatchError if no arm matches.
3mo ago php beginner
MVC Pattern PHP 5.0+
Model-View-Controller — an architectural pattern separating data (Model), presentation (View), and request handling (Controller), the foundation of Laravel, Symfony, and most PHP frameworks.
3mo ago architecture beginner
Magic Quotes — What They Were and Why Removed PHP 3.0+
Magic quotes automatically escaped incoming data with addslashes() in PHP 3/4/5 — removed in PHP 5.4 because it caused more problems than it solved and gave developers false SQL injection protection.
3mo ago php beginner
max_execution_time & set_time_limit() PHP 4.0+
max_execution_time limits script CPU time (not wall-clock time) — use set_time_limit(0) sparingly for long-running CLI tasks, never for web requests.
3mo ago php beginner
mysql_* Functions — Why They Were Removed PHP 3.0+
The original mysql_* extension was removed in PHP 7.0 after years of deprecation — it lacked prepared statements, making parameterised queries impossible and SQL injection trivially easy.
3mo ago php beginner
Missing Class Comments PHP 5.0+
A class without a PHPDoc block lacks the docblock description, @package annotation, and context needed for IDE tooling, generated documentation, and new developers.
3mo ago style beginner
Missing Function Comments PHP 5.0+
Functions without PHPDoc lose IDE parameter hints, inline documentation, and the opportunity to explain non-obvious behaviour, preconditions, and edge cases.
3mo ago style beginner
Missing Return Type Declarations PHP 7.0+
Functions without declared return types lose static analysis coverage, allow type confusion bugs, and make code harder to understand without reading the implementation.
3mo ago quality beginner
Magic Constants (__FILE__, __DIR__, __LINE__…) PHP 5.3+
PHP's built-in compile-time constants that resolve to contextual information like file path, directory, class name, and line number.
3mo ago php beginner
Magic Strings
Raw string literals used directly in code as identifiers or flags — prone to typos, hard to refactor, and lacking IDE support.
3mo ago style beginner
Method Length Guidelines
Short methods (ideally under 10–20 lines) are easier to understand, test, and name — length is a proxy for complexity.
3mo ago style beginner
✓ schema.org compliant