+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

PhpStorm 2019.3 - мажорний реліз крос-платформного інтегрованого середовища розробки для PHP

PhpStorm 2019.3 - мажорний реліз крос-платформного інтегрованого середовища розробки для PHP

JetBrains представила третій мажорний реліз PhpStorm цього року!

Завантажити нову версію можна на сайті JetBrains або за допомогою Toolbox App. Як завжди, доступна 30-денна пробна версія. Повну ж версію можуть використати власники діючої підписки на PhpStorm або All Products pack, а також безкоштовно — студенти і розробники проектів з відкритим вихідним кодом.

Продуктивність та якість

У кожному релізі JetBrains приділяє чимало уваги поліпшенню продуктивності. Але цього разу JetBrains пішли ще далі і влаштували цілий тримісячний марафон за якістю, під час якого вся команда платформи IntelliJ була зосереджена на шліфуванні IDE з різних боків. І ось чого вдалося досягти:

  • IDE запускається швидше
  • UI став більш чуйним
  • Зменшилося споживання пам'яті

JetBrains не планує зупинятися на досягнутому та продовжить роботу над зменшенням часу запуску та іншими оптимізаціями у наступних релізах.

PHP 7.4

PHP 7.4 вже вийшов! І в ньому дуже багато крутих фіч. JetBrains почали викочувати підтримку PHP 7.4 у попередньому релізі, а в PhpStorm 2019.3 повністю підтримуються нові можливості мови.

Типізовані властивості

Це, мабуть, найочікуваніша фіча PHP 7.4, і PhpStorm підтримує її починаючи з версії 2019.2.
Звичайно, підсвічуються всі неправильні використання та невідповідності типів

Вірогідно, ви захочете додати декларації типів до властивостей класів у ваших проектах. У PhpStorm це робиться швидко, тому що він уміє визначати тип існуючих полів на основі інформації в PHPDoc, дефолтного значення або тайпхінта аргументу (якщо ви інжектили властивість через конструктор і вказали його). , і в списку виберіть Add declared type for the field.

Стрілкові функції

Якщо у вас є анонімні функції з однорядковим тілом, то в PHP 7.4 ви можете використовувати синтаксис коротких лямбд: fn(parameter_list) => expr

При цьому немає необхідності додавати секцію use, тому що підтримується автоматичний біндінг за значенням змінних із зовнішнього скоупу

Натисніть Alt+Enter на анонімній функції та виберіть пункт Convert closure to arrow function, щоб конвертувати функцію автоматично

Розділювач для числових літералів

У PHP 7.4 можна вставляти символ підкреслення в будь-якому місці числа, щоб візуально його відформатувати та покращити читаність коду.
Натисніть Alt+Enter на будь-якому числі і застосуйте Add number separators . Це автоматично додасть символ '_' після кожного третього знака у десяткових числах, або після кожного четвертого знака у шістнадцяткових, двійкових та вісімкових.

Вкладені тернарні оператори

Майже у всіх мовах програмування тернарний оператор вважається праворуч наліво. У PHP все було навпаки, що дуже неінтуїтивно і могло призводити до помилок. У PHP 7.4 ліва асоціативність тернарного оператора більше не підтримується. Це означає, що або ви не використовуєте вкладені тернарні вирази взагалі, або використовуєте, але явно вказуєте порядок виконання за допомогою дужок.
PhpStorm 2019.3 підсвітить застарілий вираз, а ви можете уточнити, що мало на увазі, за допомогою швидкого виправлення

Новий механізм серіалізації

Проблеми інтерфейсу Serializable в PHP виправити не було можливим, тому було вирішено додати два нові магічні методи __serialize() і __unserialize().< /code> PhpStorm допоможе знайти їх використання в коді

Коваріантні значення, що повертаються, і контраваріантні параметри

PHP 7.4 виправляє безліч невідповідностей, зокрема, тепер дозволяє «звужувати» тип значення, що повертається в спадкоємцях і «розширювати» тип параметрів.

Застарілі можливості

У PHP не лише додають нові можливості, а й видаляють старі, роблячи мову чистішою та зручнішою для роботи. І в PHP 7.4 є ціла низка “депрекацій”.
PhpStorm 2019.3 підсвічує ті шматки коду, які вимагають вашої уваги. Де можливо, надається quick-fix (Alt+Enter) для виправлення застарілого виразу

PSR-12

Новий стандарт PSR-12 прийшов на зміну старому доброму PSR-2 і розширює його правилами для нових фіч мови, а також виправляє неточності. Дякую PHP-FIG за чудовий апдейт! Якщо ви використовували PSR-2, то подивіться, що змінилося в PSR-12.

Стиль PSR-12 є в PhpStorm 2019.3, і IDE сама запропонує перейти на нього. Щоб зробити це вручну, викличте Set from… у розділі Preferences | Editor | Code Style | PHP

Деякі правила PSR-12 були реалізовані у вигляді інспекцій, які вимкнені за замовчуванням, але PhpStorm запропонує їх увімкнути, коли ви оберете стиль PSR-12. Налаштувати під себе інспекції можна в Preferences | Editor | Inspections in PHP | Code Style | PSR-12

WSL

PhpStorm тепер підтримує розробку в оточенні WSL (Windows Subsystem for Linux), тобто коли ви запускаєте IDE на Windows 10, цільова система розробки WSL/Linux. Ви можете вказати віддалений PHP-інтерпретатор з WSL і використовувати його для запуску скриптів, тестів, команд Composer та налагодження. дистрибутиві Linux.
Після цього можна додати CLI інтерпретатор через File | Settings | Languages ​​& Frameworks | PHP

Доданий інтерпретатор можна використовувати для запуску тестів, Composer, або будь-якої іншої конфігурації run.

Інші покращення для PHP

Підсвічування PHP у Markdown і рядках
Іноді може знадобитися використовувати PHP у рядковому літералі. Сподіваюся, все-таки не в eval(), але ви розумієте, про що йдеться. Або, можливо, ви хотіли б бачити підсвічування PHP у фрагментах коду в markdown-файлах. Цей діалект працює так само? як і звичайний PHP, але при цьому не вимагає тегів, що відкриваються.
Він буде автоматично впроваджений у markdown, якщо ви використовуєте маркер php

Можливість вибрати інтерпретатор PHP для тестових run-конфігурацій
Раніше потрібно створити окрему run-конфігурацію для віддалених інтерпретаторів. У PhpStorm 2019.3 ми додали можливість вказати інтерпретатор будь-яких PHP run-конфігурацій. Так що можна легко використовувати для цього Docker, Vagrant, той самий WSL або будь-який інший варіант

Поліпшення PHPDoc
Традиційно PhpStorm надавав переходи по FQN та посиланням у PHPDoc, але сам блок при цьому відображався одним кольором як звичайний коментар.
У PhpStorm 2019.3 докблоки отримали підсвічування для типів, змінних, параметрів, методів та властивостей. Якщо в блоці зустрічається HTML, його теги теж підсвічуються

HTTP-клієнт

Панель інструментів у редакторі

У редакторі http- і rest-файлів з'явилася панель інструментів зі швидкими діями

Run All Requests in File

Ви можете записувати кілька запитів в одному http-файлі, розділяючи їх символами ###. Це особливо зручно, якщо потрібно зробити якісь ланцюжки викликів, де результат з одного використовується в наступному.
Але раніше доводилося запускати всі запити по одному, а тепер можна виконати весь файл одним натисканням.

Згортання запитів

Якщо запит великий, наприклад, ви відправляєте форму з даними або в запиті багато заголовків, то вам сподобається можливість згортання запиту.
Варіанти на вибір: згорнути весь запит, залишивши лише перший рядок, або згорнути лише тіло

Version Control

Перероблений інтерфейс для отримання проектів з VCS

У новому діалозі можна відразу залогінитися в GitHub, або, якщо ви вже залогінені, переглянути список доступних репозиторіїв.< /code>

Push будь-якої гілки

Тепер можна запушити будь-яку гілку, не перемикаючись на неї. У попапі VCS | Branches виберіть гілку та використовуйте Push

IDE

Поліпшення в управлінні плагінами

Для PhpStorm є багато крутих плагінів, але раніше керувати ними було не завжди зручно, тому що кожного разу після установки/видалення був потрібний перезапуск IDE. У PhpStorm 2019.3 на рівні інфраструктури ми реалізували підтримку динамічної установки плагінів. Це означає, що тепер є можливість встановлювати і видаляти плагіни без перезапуску. Поки що це доступно тільки для тем і плагінів з картами гарячих клавіш, але в наступних релізах ми плануємо поширити це на більшість плагінів.

Контрастні смуги прокручування

Смуги прокручування тепер можна зробити більш помітними за допомогою опції “Use contrast scrollbars” в Preferences | Appearance & Behavior | Appearance.

Гладке прокручування

Якщо включено опцію Smooth scrolling в Preferences | Appearance & Behavior | Appearance, то прокручування мишею або тачпадом у всьому інтерфейсі буде гладким, а не рядковим.

Пошук у виділеному тексті

Виділіть шматок коду в редакторі та викличте Find натисканням Cmd/Ctrl+F і пошук здійснюватиметься лише за виділений текст. Якщо натиснути Cmd/Ctrl+Fеще раз, пошук переключиться на весь файл

Підтримка MongoDB

Нарешті настав цей день, коли ми розпочали роботу над підтримкою MongoDB.
Що, власне, працює в цій версії:

Перегляд колекцій
Можна бачити колекції та поля у вікні баз даних. Ми отримуємо перші 10 документів з кожної колекції, щоб витягти інформацію про поля (налаштовується)

Консоль запитів
Поки в консолі немає доповнення коду, але запускати запити та переглядати результати вже можна. Поставте курсор на запит і натисніть Cmd/Ctrl+Enter або на іконку Play в тулбарі.
Додаток для запитів очікується в наступних версіях.

PhpStorm включає всі можливості DataGrip з коробки, так що в інструментах БД ще дуже багато інших нововведень. Незабаром буде огляд релізу DataGrip 2019.3 від наших колег.
Також, як завжди, PhpStorm включає в себе всі оновлення з WebStorm.
А повний список змін можна знайти в дуже великих release notes

Інші новини

Найкраща ціна