PHP 8, атрибуты, PHPStan и Psalm, Xdebug 3, Tailwind CSS и совместная разработка / Хабр
Рады представить финальный мажорный релиз PhpStorm в этом году! Под катом подробный разбор всех изменений и новых возможностей.
- PHP 8: поддержка всех языковых функций, и штормовские атрибуты.
- PHPStan и Psalm можно использовать для подсветки ошибок в редакторе.
- Xdebug 3 с упрощённой конфигурацией, и новые фишки для отладки в IDE.
- HTTP-клиент теперь может запускать запросы Guzzle и экспортировать в cURL.
- Совместная разработка для работы над проектом с коллегами в реальном времени.
- Редактор научился рендерить диаграммы Mermaid.js, разделять экран перетаскиванием, и позволяет просматривать файлы не открывая их.
- Git stage поддерживается как альтернатива для changelists.
- В инструментах БД добавлен SQL для MongoDB.
- Tailwind CSS теперь тоже поддерживается.
PHP 8. 0 выпущен. Большое спасибо всем контрибьюторам и менеджерам релиза!
PhpStorm 2020.3 поддерживает все последние изменения языка. Давайте рассмотрим, что доступно и как это использовать в IDE.
Версия языка в статусбаре
Теперь в статусной строке всегда отображается текущая версия PHP проекта. Оттуда же можно переключить версию.
Если переключатель не активен, это означает, что ограничение на версию PHP задано в composer.json.
Именованные аргументы
В PHP 8 аргументы функций и методов могут передаваться путем указания имени параметра. Вызовы теперь автоматически задокументированы, а необязательные параметры стали необязательными в полном смысле слова.
С помощью квик-фикса
Опечатки или ошибочные имена аргументов подсвечиваются:
Если передаваемое значение совпадает со значением параметра по умолчанию, то его можно смело удалить:
Вместо массива options для передачи набора параметров можно использовать именованные аргументы, просто передавая только необходимые. Аргументы, передаваемые таким образом, в отличие от элементов массива, являются типобезопасными.
Атрибуты
Атрибуты — это новый, структурированный способ указания метаданных в PHP вместо комментариев PHPDoc.
Чтобы создать атрибут, надо объявить класс и добавить маркер #[Attribute]
. Здесь PhpStorm поможет с подсветкой, автодополнением кода, поиском использований, рефакторингами и прочим.
Сам PHP проверяет валидность атрибутов только при вызове ReflectionAttribute::newInstance()
. А если не обращаться к атрибутам через Reflection, то они полностью игнорируются, чтобы не загружать лишние классы и не создавать объекты.
А вот PhpStorm провалидирует все в редакторе, не запуская Reflection API. При этом проверяются следующие правила:
- Указанный класс действительно может быть атрибутом.
- Данный атрибут применяется только в разрешенных местах: класс, свойство, метод, параметр, функция или константа класса.
- Атрибут повторяется только в том случае, если он объявлен с флагом
Attribute::IS_REPEATABLE
.
Вот атрибуты в действии с Symfony:
Штормовские атрибуты PHP 8
Несколько атрибутов доступны в PhpStorm 2020.3 «из коробки» в неймспейсе \JetBrains\PhpStorm\
.
Их сразу же можно использовать в своей кодовой базе, ничего не подключая.
А вот если вы дополнительно используете другие инструменты статического анализа и не хотите получать ошибок типа Class not found, то тогда, возможно, стоит добавить пакет атрибутов JetBrains/phpstorm-attributes как зависимость в composer.json
.
#[Deprecated]
Используйте этот атрибут как PHPDoc-тег @deprecated, чтобы пометить методы, классы или константы классов, которые будут удалены в будущем.
Преимущество тут в том, что можно указать замену для устаревшего кода и пользователю будет проще обновиться.
Давайте посмотрим на реальный пример. В недавно выпущенном Symfony 5.2 метод
объявлен устаревшим. Если там добавить атрибут #[Deprecated]
, то можно упростить миграцию.
#[Deprecated( reason: 'since Symfony 5.2, use setPublic() instead', replacement: '%class%->setPublic(!%parameter0%)' )]
#[ArrayShape]
Этот атрибут полезен для работы с простыми структурами данных или объектоподобными массивами, когда по какой-то причине нельзя объявить класс.
Синтаксис вот такой:
#[ArrayShape([ // ‘key’ => ’type’, ‘key1’ => ‘int’, ‘key2’ => ‘string’, ‘key3’ => ‘Foo’, ‘key3’ => App\PHP 8\Foo::class, ])] function functionName(...): array
Тип может быть указан как строка или как ссылка на класс в виде FQN строки или константы ::class
.
Массив, который определяет «форму», можно вынести в константу и переиспользовать:
const MY_ARRAY_SHAPE = []; #[ArrayShape(MY_ARRAY_SHAPE)]
В PhpStorm мы уже проаннотировали атрибутом #[ArrayShape]
некоторые стандартные функции PHP, например parse_url()
.
К счастью, синтаксис однострочных атрибутов обратно совместим. То есть, если записать
в одну строку в проекте на PHP 7, то интерпретатор PHP воспримет эту строку как комментарий.
В отличие от интерпретатора PHP, PhpStorm все равно будет анализировать атрибуты! Так что, даже если ваш проект работает на PHP 7.4 или ниже, вы все равно получите пользу от добавления #[ArrayShape]
.
#[Immutable]
Неизменяемые объекты не могут быть изменены после инициализации или создания. Их использование делает состояние программы более предсказуемым и облегчает отладку.
Атрибутом #[Immutable]
можно пометить весь класс или конкретные свойства, чтобы показать, что они не могут быть изменены.
PhpStorm будет проверять использование таких объектов и свойств и подсвечивать попытки изменения.
Изменение свойства по умолчанию разрешено в конструкторе, но можно также разрешить и в методах private/protected. Это делается с помощью констант CONSTRUCTOR_WRITE_SCOPE
, PRIVATE_WRITE_SCOPE
, PROTECTED_WRITE_SCOPE
, передаваемых в конструктор #[Immutable]
.
#[Pure]
Этим атрибутом помечаются чистые функции, то есть те, которые не производят никаких побочных эффектов. Такие функции можно безопасно удалить, если результат их выполнения впоследствии не используется.
Если функция помечена как чистая, но в ее теле есть попытка изменить что-то за пределами из внешнего скоупа, то PhpStorm подсветит небезопасный код.
Все стандартные чистые функции PHP уже помечены этим атрибутом в PhpStorm.
#[ExpectedValues]
С помощью этого атрибута можно указать, какие значения функция принимает в качестве параметров, а какие может возвращать.
Это практически то же самое, что делает expectedArguments()
в .phpstorm.meta.php
. Разница лишь в том, что мета-версия, скорее, вспомогательная, а атрибут жестко указывает, что других возможных значений нет.
Например, рассмотрим функцию count:
count ( array|Countable $array_or_countable [, int $mode = COUNT_NORMAL ] ) : int
Еe второй аргумент — целое число, но на самом деле это не произвольное целое число, а одна из констант COUNT_NORMAL
или COUNT_RECURSIVE
.
Вот как атрибут #[ExpectedValues]
улучшит ситуацию:
То есть появилось автодополнение, а если передано что-то другое, то подсвечивается ошибка.
Как указать возможные значения или битовые маски
Ожидаемые значения передаются в конструктор атрибута и могут быть одним из следующих:
- Числа:
#[ExpectedValues(values: [1,2,3])]
- Строковые литералы:
#[ExpectedValues(values: [‘red’, ‘black’, ‘green’])]
- Константы:
#[ExpectedValues(values: [COUNT_NORMAL, COUNT_RECURSIVE])]
- Константы класса:
#[ExpectedValues(values: [Code::OK, Code::ERROR])]
И есть несколько способов указать ожидаемые аргументы:
-
#[ExpectedValues(values: [1,2,3])]
означает, что ожидается только одно из значений. -
#[ExpectedValues(flags: [1, 2, 3])]
означает, что ожидается битовая маска заданных значений, например1 | 3
. -
#[ExpectedValues(valuesFromClass: MyClass::class)]
означает, что ожидается любая из констант класса `MyClass
`. -
#[ExpectedValues(flagsFromClass: ExpectedValues::class)]
означает, что ожидается битовая маска констант из класса `MyClass`.
Еще один пример #[ExpectedValues]
Возьмем хелпер response()
из Laravel. В качестве второго параметра он принимает статус код HTTP.
Есть две проблемы
- Нет автодополнения с возможными кодами
- Нет проверки правильности значения в редакторе
Давайте исправим это, добавив атрибут #[ExpectedValues(valuesFromClass: Response::class)]
#[NoReturn]
Некоторые функции могут приводить к остановке выполнения скрипта. Если отметить такие функции как точки выхода атрибутом #[NoReturn]
, то улучшится анализ потока управления.
#[Language]
Этот атрибут можно добавить к строковым параметрам, в которых ожидается текст на каком-либо языке, например RegExp, SQL, DQL и так далее.
Для аргументов появится подсветка и дополнительные возможности.
Вернемся к новым возможностям PHP 8.
Объявление свойств в конструкторе
Обычные свойства можно преобразовать в promoted или обратно с помощью квик-фикса Convert to promoted property.
PhpStorm гарантирует, что свойства используются только способом, разрешенным в PHP 8:
- Можно декларировать свойства только в конструкторе.
- Нельзя объявлять в абстрактном конструкторе.
- Нельзя объявлять свойство variadic таким образом.
- Свойство не может иметь тип ‘Callable’.
- Не допускается переопределение свойства.
Если свойство объявлено новым способом, но в теле конструктора осталась инициализация, то PhpStorm предложит ее удалить.
Выражение match
Новое выражение похоже на switch
, но использует строгое сравнение и может быть присвоено переменной или возвращено.
PhpStorm определяет, может ли блок switch
быть переделан в match
, и сделает это автоматически с помощью квик-фикса по нажатию Alt+Enter:
Может быть трудно увидеть неправильное использование нового выражения, поэтому PhpStorm подсветит все ошибки.
Будут обнаружены дублирующиеся значения в условиях:
Выражение match с одной веткой и веткой по умолчанию может быть безопасно заменено на тернарное выражение.
А если осталась только ветка по умолчанию, то соответствие match вообще не понадобится.
Наконец, если в разных ветвях одинаковые тела, они могут быть объединены.
Оператор nullsafe
Вместо кучи условий с проверкой на null теперь можно использовать цепочку вызовов с новыми оператором ?->
.
PhpStorm проверит правильность использования оператора:
Висячая запятая
Теперь допустимо добавлять запятую после последнего аргумента при вызове функций и в списке замыканий use
.
Non-capturing catches
В PHP 8 можно ловить исключение в catch-блоке без переменной.
Выражение throw
Бросать исключения теперь можно в стрелочных функциях и в коротких операторах ??
, а также в тернарном ? :
.
Можно использовать сокращение thr
и нажать tab — это live template.
Константа ::class на объектах
Раньше, чтобы получить FQN объекта, нужно было использовать функцию get_class()
. В PHP 8 вызов get_class($object)
можно смело заменить на $object::class
.
Собственно, по нажатию Alt+Enter такую замену и можно сделать. Неправильное использование константы ::class
PhpStorm подсветит.
Новые функции для строк: str_contains(), str_starts_with(), str_ends_with()
How do I check if a string contains a specific word? — самый просматриваемый вопрос по PHP на Stack Overflow. В PHP 8 есть четкий ответ на этот вопрос: использовать функцию str_contains()
.
PhpStorm 2020.3 находит вызовы strpos()
, которые можно заменить на str_contains()
:
Есть также новые str_starts_with()
и str_ends_with()
для определения того, начинается или заканчивается ли строка определенной подстрокой. PhpStorm подсвечивает, где вызовы substr()
можно заменить новыми альтернативами:
Reclassified engine warnings
В PHP 8 для многих ошибок был пересмотрен тип бросаемого предупреждения. А именно, вместо Notice во многих случаях будет Exception или Type Error.
В PhpStorm в связи с этим некоторые инспекции имеют два разных уровня severity: для PHP 8 и для более старых версий.
Это все из наиболее заметного по PHP 8. Есть еще целая куча изменений помельче, которые будут видны при обновлении на PHP 8.
Поддержка Psalm и PHPStan
Оба статических анализатора можно использовать в PhpStorm 2020.3 для подсветки проблем непосредственно в редакторе.
Если PHPStan или Psalm добавлены как зависимости в composer.json
, то рядом с ними будет значок гаечного ключа, открывающий настройки инструмента.
Оттуда можно перейти к настройкам инспекции и включить подсветку в редакторе. Это делается выбором соответствующей инспекции в списке PHP | Quality tools в Settings/Preferences | Editor | Inspections.
Лучше включить только один из инструментов, а не оба одновременно.
Тут же можно указать путь к конфигурационному файлу и настроить аргументы командной строки.
PHPStan может работать без конфигурационного файла, а для Psalm он требуется обязательно. Если в корневом каталоге есть psalm.xml
или phpstan.neon
, PhpStorm подтянет их автоматически.
Когда все настроено, откройте любой файл, и вы увидите подсветку от статических анализаторов. Может быть небольшая задержка перед тем, как появится подсветка.
Аннотации
Все псалмовские аннотации @psalm-*
теперь корректно подсвечиваются в редакторе. Но вообще, теперь можно смело убирать префикс @psalm-
из тегов, то есть @psalm-return
-> @return
и @psalm-param
-> @param
.
Поддержка типов
Добавили поддержку некоторых типов Psalm и на основе информации из тегов улучшили наш вывод типов. Это сделало более точными проверки, генерацию кода и автодополнение.
Псевдотипы
Поддерживаются псалмовские псевдотипы, такие как scalar, numeric и т. п.
Константы в типах
Поддерживаются объединения констант и указание через *
в тегах param и var.
Тайпхинты для массивов
Описания массивов array<array-key, Type>
тоже поддерживаются, в том числе вложенные.
Дженерики и @tempate
Поддержка дженериков — фича для продвинутых пользователей, у которой нет полной корректной спецификации и много граничных случаев. Тем не менее мы решили реализовать базовую поддержку для @template
на основе синтаксиса Псалма, чтобы посмотреть, как это будет использоваться.
Пока поддерживается только самый примитивный случай, когда функция возвращает один из своих параметров.
Эта поддержка дженериков является очень базовой, ее можно считать экспериментальной. Хотим понять, как это будет использоваться и что нужно реализовать в первую очередь. Будем рады обратной связи, особенно в виде реальных примеров использования в наш трекер.
Xdebug 3
Обновился популярный отладчик для PHP, теперь он значительно быстрее в работе и проще в настройке. Более подробно об Xdebug 3 читайте в документе Upgrade guide.
Чтобы сконфигурировать Xdebug 3, теперь достаточно одной опции xdebug.mode (например так XDEBUG_MODE=debug
).
Также был изменен дефолтный порт Xdebug: вместо 9000
теперь 9003
. Чтобы упростить миграцию, PhpStorm по умолчанию слушает оба порта. Настройки портов и другие опции для Xdebug находятся в Preferences/Settings | Languages & Frameworks | PHP | Debug.
Улучшения отладчика
Возможности по отладке в PhpStorm расширились двумя новыми фишками.
Интерактивные хинты
Теперь в отладочном режиме вывод переменных можно развернуть, чтобы увидеть все поля. Тут же можно и изменить значения.
Inline Watches
В предыдущих версиях можно было добавить переменную или выражение в список watch и наблюдать, как меняется значение по шагам.
В PhpStorm 2020.3 можно добавлять вотчи непосредственно в контексте, и они будут отображаться рядом с кодом.
Нажмите Add as Inline Watch в попапе на хинте.
Или нажмите Add Inline Watch в контекстном меню редактора.
Или выделите переменную и в контекстном меню выберите Add Inline Watch.
Подсветка и переименование переменных в Twig
Выберите переменную или поместите на нее курсор, и все ее использования в шаблоне будут подсвечены. А чтобы переименовать все вхождения, нажмите Shift + F6.
Совместная разработка – Code With Me
В PhpStorm 2020.3 встроен плагин Code With Me — новый инструмент JetBrains для совместной разработки и парного программирования. С помощью него можно расшарить открытый проект с другими пользователями и работать над ним вместе в режиме реального времени. Подробнее про Code With Me в этих постах.
HTTP-клиент
Интеграция Guzzle с HTTP-клиентом в PhpStorm
Guzzle — один самых популярных HTTP клиентов для PHP. Представьте, что где-то в коде есть HTTP-запрос и хочется его потестировать, не запуская сам код. Раньше пришлось бы копировать все параметры вручную.
PhpStorm 2020.3 позволяет конвертировать простые запросы Guzzle в файлы .http. Если запрос поддерживается, то рядом с ним появится иконка. Нажав на нее, вы откроете новый scratch-файл с правильным URL, параметрами запроса, методами, заголовками, телом.
Теперь из редактора запрос можно запустить и поиграться с ним, а затем сохранить его как http-файл в проекте.
Больше об HTTP-клиенте в видеообзоре.
Копировать HTTP-запрос в cURL
Чтобы экспортировать HTTP-запрос в cURL-строку, нажмите Alt+Enter на запросе в редакторе и выберите Convert to cURL and copy to clipboard. Теперь его можно вставить в терминал, документацию или любой инструмент тестирования API.
Редактор
Улучшения для Markdown
Для описания диаграмм и графиков можно использовать синтаксис Mermaid.js в markdown-файлах. PhpStorm теперь умеет рендерить превью для них прямо в редакторе. Включается в Preferences/Settings | Languages & Frameworks | Markdown.
Еще теперь можно переформатировать содержимое файлов .md в соответствии с популярными стилями. Делается нажатием ⌘⌥L / Ctrl+Alt+L.
Настраивается в Preferences/Settings | Editor | Code Style | Markdown.
И наконец, если нажать кнопку Auto-Scroll Preview в правом верхнем углу редактора, то прокрутка превью и текста будет синхронизирована.
Улучшена проверка орфографии и грамматики
Опечатки и грамматические проблемы теперь можно исправлять намного быстрее:
- Во-первых, во всплывающем окне появится объяснение ошибки.
- А если нажать Alt+Enter на подсвеченном тексте, то варианты замены будут предложены наверху, а не спрятаны в подпункт, как раньше.
Сплит редактора перетаскиванием
Чтобы открыть несколько файлов бок о бок, просто перетащите вкладку в нужный угол экрана.
Есть еще один способ открыть файл в сплит-режиме — Shift+Enter.
Комбинацию можно нажать на выбранном файле в Project view или в результатах поиска по файлам.
Вкладка предпросмотра
Если нужно быстро просмотреть файлы, то теперь не обязательно открывать каждый в отдельной вкладке. Можно использовать новую вкладку Preview tab.
Чтобы включить ее, нажмите на шестеренку в Project view и выберите Enable Preview Tab и Open Files with Single Click.
Еще можно просматривать файлы нажатием пробела в Project view, не открывая их.
IDE
Улучшения для Search Everywhere
Результаты сгруппированы по релевантности:
Можно делать простые математические операции и не открывать гугл калькулятор:
Можно искать по истории Git:
Автоматическое переключение на светлую или темную тему
В Preferences/Settings | Appearance & Behavior | Appearance | Theme выберите Sync with OS.
Новый набор горячих клавиш для macOS
Альтернативная раскладка горячих клавиш для macOS минимизирует использование функциональных клавиш, чтобы не надо было растягивать руку на всю клавиатуру при совершении основных действий. Например, вместо Fn+Shift+F6 для Rename рефакторинга используется ⌥+⌘+R.
Слова вместо иконок для горячих клавиш macOS
Можно сделать так, чтобы вместо иконок типа ⌥ ⌘ отображались слова Alt, Cmd и т. п.
Включается в секции Registry опцией ide.macos.disable.native.shortcut.symbols. Чтобы получить доступ к реестру, используйте Find Action Cmd+Shift+A и напишите там Registry.
Установить PhpStorm как приложение по умолчанию для разных файлов
В Preferences | Settings / Editor / File Types нажать Associate file types with PhpStorm…. В диалоговом окне выберите расширения для файлов, и они будут открываться в PhpStorm.
На macOS требуется перезагрузка.
Шаблоны могут генерировать несколько файлов
Можно одновременно сгенерировать сразу несколько файлов, например скелет для модуля или комбо контроллер-вью.
В Preferences / Settings | Editor | File and Code Templates нажать на , чтобы создать новый шаблон, а затем нажать на иконку Create Child Template File .
В поле File name можно использовать переменные типа ${NAME}
.
А вот пример того, как сгенерировать контроллер и шаблон в Symfony:
Поддержка Git stage
Включить можно чекбоксом Enable staging area в Preferences/Settings | Version Control | Git.
В окне инструментов Commit (Cmd+0 / Alt+0) появятся две группы файлов: staged и unstaged.
Чтобы добавить файл в staged, нажмите на + напротив него.
Или можно выбрать конкретные строки и добавить их иконкой в редакторе. В этом случае можно закоммитить часть изменений из файла, а над остальными продолжить работу.
Инструменты БД
PhpStorm «из коробки» включает в себя возможности DataGrip, которые охвачены в обзоре релиза DataGrip 2020.3 от наших коллег.
SQL для MongoDB
Теперь можно использовать SQL-запросы к MongoDB. PhpStorm 2020.3 поддерживает SELECT-
запросы с JOIN
, WHERE
, GROUP BY
, HAVING
, ORDER BY
, LIMIT
, OFFSET
и всеми функциями MongoDB кроме map, reduce, filter и let. Подробнее в блог-посте.
Веб
Как всегда, в PhpStorm входят все обновления из WebStorm 2020.3. Наиболее примечательной является поддержка Tailwind CSS.
Tailwind CSS
PhpStorm дополняет классы Tailwind в HTML-файлах и после директивы @apply. А также предоставит автодополнение псевдо-классов.
Если навести указатель на класс в HTML и CSS файлах, то отобразится предпросмотр полученного CSS. Предпросмотр также доступен при автодополнении кода, во всплывающем окне документации F1 / Ctrl+Q.
PhpStorm поддерживает настройки из tailwind.config.js. Например, если определить тему с новыми цветами, то во всплывающем окне автодополнения будут созданные классы с именем кастомного цвета.
Скачать PhpStorm 2020.3 можно на странице “What’s new”.
А вот видеоролик (на английском) с демонстрацией главных фич релиза:
На этом всё на этот раз. Будем рады вопросам, пожеланиям, баг-репортам и просто мыслям в комментариях.
Описание, Функции и Интерфейс – 2023
Информация о PhpStorm
PhpStorm
JetBrains, Чехия
https://www.jetbrains.com
Фрилансер, Средний бизнес, ИП, Специалист, НКО, Корпорация, Малый бизнес
Персональный компьютер
macOS, Windows, Linux
Ежемесячная оплата, Ежегодная оплата
Нет данных
Нет данных
Краткий обзор PhpStorm
PhpStorm – это кроссплатформенная интегрированная среда разработки для языков PHP, HTML, JavaScript.. Продукт PhpStorm (рус. ПхпШторм) созданный компнаией JetBrains, написанный на языке Java –это среда Web-разработки. Данное ПО позволяет обеспечить развертывание и сонхронизацию проектов, имеет автоматизированные средства рефракторинга кода, имеет функции автодополнения и анализа кода, что позволяет предотвратить ошибки во время работы. В числе основных возможностей продукта PhpStorm предлагает следующие функции:
Наличие полного функционала для работы на HTML, CSS, JavaScript;
Возможность подключения к базам данных, работа с SQL — кодом. При работе с PhpStorm разработчик может редактировать схемы и таблицы, выполнять запросы.
Поддержка большого количества актуальных фреймворков.
Наличие визуального отладчика позволяет проверять код без конфигурации.
Назначение системы PhpStorm
Интегрированная разработка программ (IDE)
Разработка программных приложений (ADP)
Компьютерное программирование
Программирование
Программная разработка (DEV)
Software Integrated Development (IDE)
Application Development (ADP)
Computer Programming (CP)
Programming (PROG)
Software Development (DEV)
Функции PhpStorm
Отчётность и аналитика
Поддержка JavaScript
Генерация программной документации
Малокодовая разработка (low-code)
Сторонние дополнения
Готовые конфигурации приложений
Развёртывание приложений
Администрирование
Поддержка . NET
Дополнение программного кода
Готовые функциональные блоки
Создание программного кода «с нуля»
Поддержка C++
Поддержка Ассемблера
Поддержка Python
Поддержка других языков программирования
Бескодовая разработка (no-code)
Кроссплатформенность
Поддержка C
Брендирование приложений
Наличие API
Многопользовательский доступ
Поддержка PHP
Проектирование рабочих процессов
Поддержка Java
Импорт/экспорт данных
Аналоги PhpStorm
1С:Предприятие
Comindware Business Application Platform
Directual
Goodt Insight
IntelliJ IDEA
ОПТИМУМ Платформа
Вопросы и ответы PhpStorm
Располагает ли PhpStorm программным интерфейсом приложения (API)?
Да, у PhpStorm есть программный интерфейс (API).Возможно ли устанавливать PhpStorm на компьютер с ОС Windows?
Да, PhpStorm может устанавливаться и использоваться на устройствах под операционной системой Windows.Существует ли бесплатная версия PhpStorm?
Нет, к сожалению, вариант бесплатного использования системы отсутствует.Подойдёт ли PhpStorm для малого бизнеса?
Да, PhpStorm может быть эффективно использован малым бизнесом, микропредприятиями и стартапами.Предполагает ли PhpStorm серверный вариант установки (или на частное облако)?
Нет, PhpStorm не может быть развёрнуто на собственных серверах организации.Какие существуют варианты установки PhpStorm?
Система PhpStorm может быть установлена на: Персональный компьютер.
PhpStorm: Lightning-Smart PHP IDE
… стало еще лучше для наших японских пользователей
Загрузите 30-дневную бесплатную пробную версию, чтобы оценить PhpStorm для вашего проекта
Скачать
Готовы к покупке?
Участники PhpCon Japan могут использовать код скидки:
, чтобы получить скидку 20% на новые годовые персональные подписки на PhpStorm.
Сохраните код сейчас и используйте его до 31 декабря 2020 г. в магазине JetBrains.
НОВИНКА! Локализованный пользовательский интерфейс и поддержка на японском языке
Пакет японского языка для PhpStorm уже доступен [EAP]
Более 3000 пользователей уже загрузили пакет японского языка для PhpStorm! Обновленная версия доступна для версий 2020.3xx. Инструкции по установке доступны на английском и японском языках. Попробуйте прямо сейчас и оставьте свой отзыв.
Веб-справка по PhpStorm на японском языке
Предоставлено нашим официальным партнером Willbrains
Не знаете, с чего начать? Ищете онлайн-документацию и учебные пособия? Ознакомьтесь с нашей обширной веб-справкой: English | Японский язык.
Поддержка на японском языке
Нужна техническая помощь или дополнительная информация, чтобы убедить своего менеджера? Пожалуйста, не стесняйтесь обращаться к нам.
Для получения технической поддержки используйте страницу поддержки (доступна на японском языке). Более подробная информация о том, как отправлять запросы, доступна в этом сообщении блога.
По вопросам поддержки продаж обращайтесь к нашему менеджеру по продажам, говорящему на японском языке.
Следите за японским блогом и учетными записями JetBrains Japan в Twitter и Facebook, чтобы быть в курсе последних новостей.
Почему PhpStorm
PhpStorm — это быстрая и исключительно умная IDE, созданная специально для PHP-разработчиков. PhpStorm действительно понимает ваш код. Он обеспечивает интеллектуальную помощь в написании кода и возможности рефакторинга, выделяет и исправляет ошибки на лету и позволяет легко отлаживать и тестировать код.
Но это еще не все! Узнайте больше на странице PhpStorm.
Согласно нашему ежегодному исследованию экосистемы разработчиков, PhpStorm также является самой популярной IDE для PHP!
Что нового в PhpStorm 2020.3
PHPStan и Psalm
PhpStorm позволяет использовать популярные инструменты статического анализа для выделения ошибок в редакторе. IDE выделяет все теги @psalm-*
и @phpstan-*
и поддерживает систему типов Psalm.
PHP 8
Все новые функции языка PHP полностью поддерживаются в PhpStorm, что позволяет писать совместимый код и быстрее обновлять его с помощью набора быстрых исправлений миграции. В PhpStorm также доступны настраиваемые атрибуты для улучшения помощи и анализа кода.
Tailwind CSS
Эта популярная структура CSS теперь поддерживается в PhpStorm. Среда IDE автоматически дополнит ваши классы Tailwind, покажет предварительный просмотр результирующего CSS при наведении курсора и поддержит настройки, которые вы делаете с помощью файлов tailwind.config.js
.
Новости от JetBrains
Space
Space, новейшее дополнение к семейству продуктов JetBrains, представляет собой интегрированную командную среду, предоставляющую командам и организациям инструменты, необходимые для эффективного и продуктивного сотрудничества. Он предлагает контроль версий на основе Git, проверку кода, автоматизацию (CI / CD) на основе сценариев Kotlin, репозитории пакетов, инструменты планирования, средство отслеживания проблем, чаты, блоги, собрания и групповой каталог, а также другие функции.
Подробнее
Code With Me
Code With Me — это новый сервис, созданный JetBrains для совместной разработки и парного программирования. Это позволяет вам делиться проектом и кодом, который вы открыли в своей IDE, с другими людьми. Code With Me доступен в PhpStorm, начиная со сборки 2020.2 (2020.2.x).
Узнать больше
Присоединяйтесь к более чем 600 000 счастливых пользователей PhpStorm по всему миру!
Загрузка
Страница не найдена
Анализы и прогнозы
- Продукция для тропических циклонов
- Прогноз погоды в тропиках
- Морские продукты
- Аудио/Подкасты
- RSS-каналы
- Продукты ГИС
- Альтернативные форматы
- Тропический циклон Описание продукта
- Описание морской продукции
▾
Данные и инструменты
- Спутниковые снимки
- Радиолокационные изображения
- Самолет-разведчик
- Инструменты для тропического анализа
- Экспериментальные продукты
- Калькулятор расстояния широты/долготы
- Пустые карты отслеживания
▾
Образовательные ресурсы
- Будьте готовы!
Ураган NWS
Неделя подготовки - NWS Защита от ураганов
- Информационные документы
- Штормовой нагон
- Контрольные точки/предупреждения
- Климатология
- Названия тропических циклонов
- Шкала ветра
- Записи и факты
- Исторические сводки об ураганах
- Прогнозные модели
- Публикации NHC
- Глоссарий NHC
- Акронимы
- Часто задаваемые вопросы
- Будьте готовы!
▾
Архивы
- Информационные бюллетени по тропическим циклонам
- Прогноз погоды в тропиках
- Отчеты о тропических циклонах
- Проверка прогноза тропических циклонов
- Краткий обзор сезона Атлантического течения
- E. Сводка текущего сезона Pacific
- C. Сводка текущего сезона Pacific
- Архив новостей NHC
- Объявления о продуктах и услугах
- Другие архивы: HURDAT,
Track Maps,
Marine Products,
и другие
▾
О
- Национальный центр ураганов
- Центральная часть Тихого океана
Центр ураганов - Свяжитесь с нами
▾
Поиск
ИскатьNWS Все NOAA
▾
Запрошенная веб-страница не может быть найдена.