PhpStorm 2020.2 - JetBrains представив другий мажорний реліз PhpStorm цього року
PhpStorm 2020.2 - JetBrains представляє другий великий випуск PhpStorm цього року
JetBrains представила PhpStorm 2020.2, другий великий випуск PhpStorm цього року. Що нового в PhpStorm 2020.2:
Типи об'єднань в PHP 8
Об'єднані типи T1|T2|...
можна використовувати скрізь, де зараз можна вказати типи: в аргументах, властивостях і значеннях, що повертаються, і в цьому випадку змінна може приймати один з перерахованих типів.
Насправді, в PHPDoc вже давно використовуються об'єднані типи, але тепер інтерпретатор дійсно перевірить їх під час виконання.
Змінення мовної версії
Щоб побачити всі можливості, ви можете вручну переключити мовну версію на PHP 8 в налаштуваннях Languages & Frameworks | | PHP Рівень мови PHP.
Або якщо в коді вже є використання нових можливостей, то переключитися можна за допомогою швидкого виправлення (Alt+Enter).
А якщо в composer.json вказана PHP-версія, phpStorm підтягне її автоматично.
Перевірка тексту
PhpStorm раніше міг аналізувати типи та знаходити порушення з інформації з тегів PHPDoc. З рідними деклараціями ці можливості розширилися.
Перевірки проводяться для всього: властивостей, аргументів, повернутих значень.
Псевдотип помилковий
Деякі функції можуть повертатися false
в разі помилки; наприклад, так поводяться , array_search()
і 310 інших стандартних функцій. strpos()
У цьому випадку ви можете вказати тип повернення як об'єднаний, наприклад int|bool
, але насправді true
він ніколи не буде там.
Для таких випадків введений псевдотип false
. Його можна використовувати тільки в союзах. В іншому випадку PhpStorm виділить недійсний код.
Дублюючі та надлишкові типи
Багато комбінацій в типологічних асоціаціях заборонені або просто зайві. Наприклад:
bool|false
- Тому що фальш входить вbool
;Foo|Foo
абоint|string|INT
повторення;object|User
-object
Свідомо містить все інше;iterable|array
абоiterable|Traversable
—iterable
включає масив і обхідний;void
- Може використовуватися тільки в повернутому значенні і тільки в собі.false
абоnull
тільки в складі асоціації.
PhpStorm висвітлить всі подібні порушення.
Нульові типи
Старий синтаксис ?Type
тепер розглядається як абревіатура для Type|null
.
Але скорочений варіант з ?
не можна використовувати в асоціаціях, тому що існує нерозв'язна двозначність.
Для таких випадків PhpStorm має швидке виправлення (Alt+Enter).
Змінення типів під час успадкування
До методів застосовуються два правила:
Тип параметра контраваріантний, а значить, його можна розширити.
Інструменти бази даних
PhpStorm "з коробки" включає майже всі функції dataGrip, які висвітлюються в огляді випуску dataGrip 2020.2 від наших колег.
Веб
І, як завжди, всі оновлення від WebStorm 2020.2 також включені в phpStorm. Наприклад, за допомогою плагіна Prettier можна використовувати в якості форматора за замовчуванням, в тому числі і для PHP-файлів.
Повний список всіх змін у цьому випуску доступний у дійсно довгих нотатках до випуску PhpStorm 2020.2 .