PHP 8.4Β β€” большоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ языка

PHP 8.4 — большоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ языка

Новая вСрсия содСрТит мноТСство Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ…ΡƒΠΊΠΈ свойств, асиммСтричная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости свойств, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ DOM API, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, исправлСны ошибки ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ измСнСния

  • Π₯ΡƒΠΊΠΈ свойств ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ вычисляСмых свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ понятны IDE ΠΈ инструмСнтам статичСского Π°Π½Π°Π»ΠΈΠ·Π°, Π±Π΅Π· нСобходимости ΠΏΠΈΡΠ°Ρ‚ΡŒ DocBlock-ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π°Π΄Ρ‘ΠΆΠ½ΡƒΡŽ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π±Π΅Π· нСобходимости ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, сущСствуСт Π»ΠΈ Π² классС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π³Π΅Ρ‚Ρ‚Π΅Ρ€ ΠΈΠ»ΠΈ сСттСр.
  • АсиммСтричная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости записи свойства Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ нСзависимо ΠΎΡ‚ области видимости чтСния свойства, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²-Π³Π΅Ρ‚Ρ‚Π΅Ρ€ΠΎΠ² для раскрытия значСния свойства Π±Π΅Π· возмоТности Π΅Π³ΠΎ измСнСния ΠΈΠ·Π²Π½Π΅ класса.
  • Новый Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ #[Deprecated] Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ объявлСния сущности ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ констант классов.
  • Новый DOM API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π±ΠΎΡ€ HTML5-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² соотвСтствии со стандартами, исправляСт нСсколько Π΄Π°Π²Π½ΠΈΡ… ошибок Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ DOM ΠΈ добавляСт нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ. DOM API доступСн Π² пространствС ΠΈΠΌΡ‘Π½ Dom. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π½ΠΎΠ²Ρ‹ΠΉ DOM API, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ классов DomHTMLDocument ΠΈ DomXMLDocument.
  • Новый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ BcMathNumber позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ ΠΈ стандартныС матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с числами ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ точности. Π­Ρ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ нСизмСняСмы ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ интСрфСйс Stringable, поэтому ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² строковых контСкстах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, echo $num.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ array_find(), array_find_key(), array_any() ΠΈ array_all().
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ классы PdoDblib, PdoFirebird, PdoMySql, PdoOdbc, PdoPgsql, PdoSqlite Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ PDO.
  • К свойствам ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ, Π½Π΅ оборачивая Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ new Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: new MyClass()->method() Π±Π΅Π· скобок.
  • НовыС классы, интСрфСйсы ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅…

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru