← Tilbage til versioner
PHP 7.3
Flexible heredoc/nowdoc syntax, array_key_first/last, is_countable og JSON fejlhåndtering
📖 Om PHP 7.3
PHP 7.3 var primært en polish release der fokuserede på developer experience og kvalitetslivsforbedringer. Flexible heredoc/nowdoc syntax var en game-changer for kode læsbarhed ved at fjerne de frustrerende indentation requirements. JSON_THROW_ON_ERROR introducerede moderne exception-based error handling for JSON operations i stedet for at skulle tjekke json_last_error(). array_key_first() og array_key_last() fyldte et irriterende hul i PHP's array API. PCRE2 migration bragte moderne regex capabilities og bedre Unicode support. Same Site cookie support hjalp med at beskytte mod CSRF attacks med minimal kode ændringer.
🎯 Nye Features
- ✓Flexible Heredoc/Nowdoc Syntax - Ingen indentation requirements på closing marker
- ✓Trailing Commas in Function Calls - Tilføj trailing comma i function arguments
- ✓array_key_first() og array_key_last() - Få første/sidste array key uden reset()
- ✓is_countable() Function - Tjek om en variable kan tælles før count() call
- ✓JSON_THROW_ON_ERROR - Moderne exception-based error handling for JSON functions
- ✓PCRE2 Migration - Opdateret regex engine med bedre Unicode og performance
- ✓Same Site Cookie Support - SameSite attribute for bedre CSRF protection
- ✓Argon2id Password Hashing - Hybride Argon2 variant med bedre sikkerhed
- ✓list() Reference Assignment - Brug references i list() destructuring
- ✓instanceof allows Literals - Brug string literals direkte i instanceof checks
- ✓CompileError Exception - Mere specifik exception for compilation errors
- ✓Case-insensitive Constants Deprecated - Kun case-sensitive konstanter fremover
⚡ Performance Forbedringer
- ↗PCRE2 regex engine er op til 20% hurtigere i komplekse patterns
- ↗Optimeret array_key_first/last er hurtigere end reset()+key() kombination
- ↗JSON parsing med JSON_THROW_ON_ERROR har minimal overhead
- ↗Reference assignment i list() eliminerer unødvendige copies
⚠️ Breaking Changes
- !Heredoc/Nowdoc closing marker skal stå alene på linjen (ingen whitespace)
- !Continue targeting switch genererer nu warning - brug break i stedet
- !Case-insensitive constants er deprecated - definer kun case-sensitive
- !assert() med string argument er deprecated - brug boolean expressions
- !Underscore numeric literal separator kan ikke være i start/slut af tal
- !image2wbmp() er deprecated - brug imagewbmp() i stedet
💡 Migration Tips
- →Brug JSON_THROW_ON_ERROR flag i json_decode/encode for bedre error handling
- →Refactor heredoc/nowdoc strings til at bruge flexible syntax for læsbarhed
- →Erstat reset()+key() patterns med array_key_first/last() functions
- →Tilføj is_countable() checks før count() på mixed-type variables
- →Opdater cookie settings til at inkludere samesite parameter for sikkerhed
- →Migrer continue statements i switch til break for at undgå warnings
🔄 Upgrade Path
PHP 7.2
→PHP 7.3
→PHP 7.4
ℹ️ Quick Info
Release Date
6. December 2018
Status
End of Life
End of Life
6. December 2021