7.2.33, Π² ΠΊΠΎΡΠΎΡΡΡ
ΡΡΡΡΠ°Π½Π΅Π½Ρ Π½Π°ΠΊΠΎΠΏΠΈΠ²ΡΠΈΠ΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅
-
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° , ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. -
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π²Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ, Ρ.Π΅. ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, «array_fill(start_index: 0, num: 100, value: 50)». - ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° «?», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ·ΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π»ΠΈΡΠ½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π½Π° Π²ΠΎΠ·Π²ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ «null». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, «$dateAsString = $booking->getStartDate()?->asDateTimeString()»; - ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
union-ΡΠΈΠΏΠΎΠ² , ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈΠ· Π΄Π²ΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ «public function foo(Foo|Bar $input): int|float;»). - ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
Π°ΡΡΠΈΠ±ΡΡΠΎΠ² (Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΈΠΏΠ°Ρ ) ΠΊ ΠΊΠ»Π°ΡΡΠ°ΠΌ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Docblock. - ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
match , ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ switch ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΡΠΎΠ³ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ «break».$result = match($input) {
0 => «hello»,
‘1’, ‘2’, ‘3’ => «world»,
}; -
Π‘ΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈ ΡΠ²ΠΎΠΉΡΡΠ². - ΠΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ —
static . - ΠΠΎΠ²ΡΠΉ ΡΠΈΠΏ —
mixed , ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΡΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ. - ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
throw Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. -
WeakMap Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΌΡΡΠΎΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΊΡΡΠ΅ΠΉ). -
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ «::class» Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (Π°Π½Π°Π»ΠΎΠ³ Π²ΡΠ·ΠΎΠ²Π° get_class()). -
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π² Π±Π»ΠΎΠΊΠ΅ catch ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ. -
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π·Π°ΠΏΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ. - ΠΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
Stringable Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π»ΡΠ±ΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΡΡΡΠΎΠΊΡ (Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄__toString()). - ΠΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ
str_contains() , ΡΠΏΡΠΎΡΡΠ½Π½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ strpos Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ str_starts_with() ΠΈ str_ends_with() Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈ ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ. - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ
fdiv() , Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄Π΅Π»Π΅Π½ΠΈΡ Π±Π΅Π· Π²ΡΠ²ΠΎΠ΄Π° ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° Π½ΠΎΠ»Ρ. -
ΠΠ·ΠΌΠ΅Π½Π΅Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ‘echo «sum: » . $a + $b’ ΡΠ°Π½Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΠΊΠ°ΠΊ ‘echo («sum: » . $a) + $b’, Π° Π² PHP 8 Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΊΠ°ΠΊ ‘echo «sum: » . ($a + $b)’. -
Π£ΠΆΠ΅ΡΡΠΎΡΠ΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π±ΠΈΡΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ «[] % [42]» ΠΈ «$object + 4» Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅. -
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΈ ΡΠ°Π·Π½ΡΡ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru