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