Содержание

поддержка PHP 7.4, PSR-12, WSL, MongoDB и многое другое / Блог компании JetBrains / Хабр

Всем привет! Мы рады представить вам третий мажорный релиз PhpStorm в этом году!
Под катом — подробный разбор всех заметных изменений и новых возможностей. Осторожно — очень много картинок.

Скачать новую версию можно на сайте или с помощью Toolbox App. Как всегда, доступна 30-дневная пробная версия. Полную же версию могут использовать обладатели действующей подписки на PhpStorm или All Products pack, а также бесплатно — студенты и разработчики проектов с открытым исходным кодом.

Производительность и качество


В каждом релизе мы уделяем немало внимания улучшению производительности. Но в этот раз мы пошли еще дальше и устроили целый трехмесячный марафон по качеству, во время которого вся команда платформы IntelliJ была сосредоточена на шлифовке IDE с разных сторон. И вот чего удалось достичь:
  • IDE запускается быстрее
  • UI стал отзывчивее
  • Снизилось потребление памяти

Мы не планируем останавливаться на достигнутом и продолжим работу над уменьшением времени запуска и другими оптимизациями в следующих релизах.

PHP 7.4


PHP 7.4 уже вышел! И в нем очень много крутых фич. Мы начали выкатывать поддержку PHP 7.4 в предыдущем релизе, а в PhpStorm 2019.3 полностью поддерживаются все новые возможности языка.

Типизированные свойства


Это, пожалуй, самая ожидаемая фича PHP 7.4, и PhpStorm поддерживает ее начиная с версии 2019.2. Но давайте посмотрим еще разок, потому что мы поправили мелкие проблемы и покрыли некоторые пограничные случаи.
Конечно же, подсвечиваются все неправильные использования и несоответствия типов:

Вероятно, вы захотите добавить декларации типов к свойствам классов в ваших проектах. В PhpStorm это делается быстро, потому что он умеет определять тип существующих полей на основе информации в PHPDoc, дефолтного значения или тайпхинта аргумента (если вы инжектили свойство через конструктор и указали его).

В любом случае, нажмите Alt+Enter на свойстве, у которого нет типа, и в выпавшем списке выберите 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 подсветит устаревшее выражение, а вы можете уточнить, что имелось в виду, с помощью быстрого исправления ( Alt+Enter – ну, вы уже в курсе, да?).


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


Проблемы интерфейса Serializable в PHP исправить не представлялось возможным, поэтому было решено добавить два новых магических метода __serialize() и __unserialize(). PhpStorm поможет найти их использования в коде:

Ковариантные возвращаемые значения и контравариантные параметры


PHP 7. 4 исправляет множество несоответствий, в частности, теперь позволяет «сужать» тип возвращаемого значения в наследниках и «расширять» тип параметров.

Устаревшие возможности


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



C выходом PHP 7.4 старые версии PHP заброшены. PHP 7.2 будет еще в течение года получать только исправления безопасности, а PHP 7.1 теперь официально не поддерживается. Это значит, что если будет обнаружена уязвимость, то взлом вашего сервера – это лишь вопрос времени. Так что самое время обновиться.

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:

После этого форматируйте код вручную нажатием Cmd/Ctrl+Alt+L:

Или делайте это автоматически перед коммитом с помощью опции Cleanup:

WSL


PhpStorm теперь поддерживает разработку в окружении WSL (Windows Subsystem for Linux), то есть когда вы запускаете IDE на Windows 10, целевая система разработки WSL/Linux. Вы можете указать удаленный PHP-интерпретатор из WSL и использовать его для запуска скриптов, тестов, команд Composer и отладки.

Чтобы начать, установите и настройте WSL по инструкции, а затем установите PHP, если он не идет в поставке в выбранном дистрибутиве Linux.
После этого можно добавить CLI интерпретатор через File | Settings | Languages & Frameworks | PHP.

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

Другие улучшения для PHP


Подсветка PHP в Markdown и строках
Иногда может потребоваться использовать PHP в строковом литерале. Надеюсь, все-таки не в eval(), но вы понимаете, о чем речь. Или, может быть, вы хотели бы видеть подсветку PHP во фрагментах кода в markdown-файлах.
Всё это доступно в PhpStorm 2019.3 благодаря специальному диалекту PHP, который называется InjectablePHP. Этот диалект работает так же? как и обычный PHP, но при этом не требует открывающихся тегов.
Он будет автоматически внедрен в markdown, если вы используете маркер php:

А также в строках Heredoc/Nowdoc, опять же с маркером PHP:

Ну, и в eval() это тоже работает автоматически:

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

Выбор шрифта и цвета псевдопеременной $this

Улучшения PHPDoc
Традиционно PhpStorm предоставлял переходы по FQN и ссылкам в PHPDoc, но сам блок при этом отображался одним цветом как обычный комментарий.
В PhpStorm 2019.3 докблоки получили подсветку для типов, переменных, параметров, методов и свойств. Если в блоке встречается HTML, то его теги тоже подсвечиваются.

Мелкие полезности


Быстрые исправления для условных выражений
Выражения if-else, возможно, самые часто используемые конструкции языка. В PhpStorm 2019.3 мы добавили несколько быстрых исправлений Alt+Enter для манипуляции ими.

Если внутри выражения if присутствует присваивание, то его можно быстро вынести на отдельную строку:

Если встретились вложенные условия if, то их можно объединить в одно:

Также можно объединить else с if внутри в один elseif:

Или наоборот – разделить elseif на else и if:

Рефакторинг Inline constant
Это действие противоположно Extract constant, то есть в результате выполнения все использования константы заменяются на ее значение. Для использования нажмите Cmd/Ctrl+Alt+N на константе.

Больше разных рефакторингов можно найти, нажав Cmd/Ctrl+T.

Удалить вызов функции
Нажмите Shift+Cmd/Ctrl+Delete, что удалить избыточный вызов функции:

Авто-вставка <?php при вводе <?

Автодополнение ‘=’ до ‘=>’ после ключа массива
Еще один маленький “таймсейвер” в 2019.3: когда вы добавляете элемент в массив, PhpStorm быстро допечатает =>, достаточно лишь нажать =:

HTTP-клиент


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


В редакторе http- и rest-файлов появилась панель инструментов с быстрыми действиями:

Run All Requests in File


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

Сворачивание запросов


Если запрос большой, например вы отправляете форму с данными или в запросе много заголовков, то вам понравится возможность сворачивания запроса.
Варианты на выбор: свернуть весь запрос, оставив только первую строку, или свернуть только тело.

Автодополнение для хостов


Больше нет необходимости печатать хост в запросе, если вы его уже использовали где-то в проекте. PhpStorm предложит подходящий вариант в списке:

Динамические переменные


Мы добавили три динамических переменных, которые можно использовать в любом месте запроса:
  • $uuid – генерирует UUID-v4 (e9e87c05-82eb-4522-bc47-f0fcfdde4cab)
  • $timestamp – текущая временная метка в формате Unix (1563362218)
  • $randomInt – случайное число от 0 до 1000

Как обычно, для вставки переменных используйте двойные фигурные скобки:
GET http://httpbin. org/anything?id={{$uuid}}&ts={{$timestamp}}

Обо всех возможностях HTTP-клиента смотрите в видеоролике:
HTTP Client in PhpStorm

Version Control


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


В новом диалоге можно тут же залогиниться в GitHub, или, если вы уже залогинены, посмотреть список доступных репозиториев.

Checkout


Мы убрали опцию Checkout и разделили ее на две операции: New Branch from Selected и Checkout. New Branch from Selected создает новую ветку, но не устанавливает трекинг. А новый Checkout создает новую локальную ветку и устанавливает трекинг remote-ветки.

Push любой ветки


Теперь можно запушить любую ветку, не переключаясь на нее. В попапе VCS | Branches выберите ветку и используйте Push:

Настраиваемый формат даты


Теперь можно сконфигурировать формат даты, которая будет отображаться в VCS Annotate или в любых отображениях лога. Например, вы можете установить значение mm/dd/yyyyy, если хотите использовать формат США.

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ещё раз, то поиск переключится на весь файл.

Новая команда для сортировки строк по алфавиту


Теперь можно легко отсортировать выбранные строки в редакторе вызвав Edit | Sort Lines из меню или командой Sort Lines в поиске по командам Find Actions по нажатию Cmd/Ctrl+Shift+A:


Больше разных действий со строками доступно в плагине String Manipulation.

Поддержка MongoDB


Наконец-то настал этот день, когда мы начали работу над поддержкой MongoDB.
Что, собственно, работает в этой версии:

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

Просмотр данных
Смотрите документы из любой коллекции или результаты запроса. Работает сортировка по колонкам, фильтры и пагинация.
Также можно включить режим отображения в виде дерева нажав на шестерёнку и дальше View as… | Tree.

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

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

И напоследок, короткий ролик (на английском) с демонстрацией главных фич релиза:

У нас есть отдельная более подробная статья о расширенной отладке PHP с помощью Xdebug в PhpStorm, а также Visual Studio Code. Обязательно ознакомьтесь с ними, если хотите погрузиться глубже.

Профайлер

Мы уже писали о профилировании Xdebug в PhpStorm, который включает в себя инструмент профилирования, полезный для отладки производительности плагинов, приложений и процессов WordPress. Хотя он связан с Xdebug, есть еще несколько шагов, чтобы включить его с помощью PhpStorm.

После установки и включения вы можете запустить процесс, который хотите профилировать, и он начнет сбор данных в формате cachegrind.out.% p , как определено в вашем php.ini . Затем вы можете открыть этот снимок в PhpStorm для анализа с помощью «Инструменты> Анализировать снимок профиля Xdebug». Вы увидите что-то вроде следующего, где вы можете просмотреть статистику выполнения каждой функции, отсортировать функции по затраченному времени и сделанным вызовам, а также углубиться в стек вызовов для функций:

Git и SVN

Хотя я могу использовать Git и SVN в командной строке, мне нравится использовать интеграцию Git и SVN в PhpStorm, поскольку это не позволяет мне перемещаться между терминалом и другой программой. Интеграция довольно удобна: автоматическое определение корней Git и SVN в вашем проекте, представление мощного пользовательского интерфейса для сравнения файлов и слияния, а также отображение истории версий выбранных или целых файлов.

С тех пор, как мы начали регулярно вносить вклад в ядро ​​WordPress с помощью SVN, я обнаружил, что его функции «Применить» и «Создать» неоценимы для экономии времени. Просто выберите файл патча в своем проекте и выберите «Применить патч» в контекстном меню.

Чтобы создать патч из ваших изменений, перейдите в «VCS> Создать патч» или для определенных файлов выберите файл (ы) на вкладке «Локальные изменения» панели «Контроль версий» и выберите «Создать патч»:

GitHub

Если в вашем проекте есть репозитории Git, зарегистрированные с помощью пультов дистанционного управления, размещенных на GitHub, PhpStorm предоставляет вам несколько действительно хороших функций.Фактически вы можете создать «Pull Request» из среды IDE. Довольно удобно, правда? После того, как вы добавили код в ветку, перейдите в «VCS> Git> Create Pull Request»:

Если вы разрабатываете, используя поток разветвления, или участвуете в репозиториях с открытым исходным кодом на GitHub, вы будете знать, как сложно поддерживать ваш форк в актуальном состоянии с помощью главного репозитория. PhpStorm сделает все это за вас, включая добавление «восходящего» пульта к вашей проверенной вилке. Перейдите в «VCS> Git> Rebase My GitHub Fork».Посмотрите мое быстрое демонстрационное видео ниже:

Содержание этого видео по-прежнему актуально по состоянию на декабрь 2020 года. Ничего не изменилось, когда дело доходит до работ по перебазированию в PhpStorm.

Если вы пользователь PhpStorm, надеюсь, вы нашли здесь что-то новое и полезное. Если нет, то, возможно, это убедило вас взглянуть? Хотя PhpStorm может быть не лучшим редактором для многих из вас, мы все же считаем его очень эффективным в нашем рабочем процессе.

В Laracasts есть отличная бесплатная серия видео о том, как быть крутым в PhpStorm, который, хотя временами ориентирован на Laravel, является отличным ресурсом для разработчиков, использующих PhpStorm, поскольку вы можете применять те же методы для разработки WordPress.

Какие ваши любимые функции? Пропустил ли я что-нибудь, о чем, по вашему мнению, стоит упомянуть? Дайте нам знать об этом в комментариях.

5 причин, почему PHP Storm — моя IDE — Helastel

Я отправился в путешествие по программированию в возрасте 14 лет, когда сделал свой первый веб-сайт в Блокноте. Да, вы правильно прочитали … Блокнот! Я полагаю, что большинство людей, читающих эту статью, знают, что такое IDE (интегрированная среда разработки). Для тех немногих незадачливых, кто этого не делает, на самом базовом уровне IDE позволит вам работать намного быстрее, поскольку объединяет все ваши инструменты разработки в одно приложение. Он также предоставит вам базовые инструменты генерации кода, автозаполнение или интеллектуальное завершение кода и многие другие функции, позволяющие сэкономить время.

Если бы я вернулся к тому моменту, когда я начал, я бы все равно делал то, что делал — я бы придерживался Блокнота, поскольку он позволял мне изучать основы html и PHP гораздо более тщательно, чем если бы я начал с IDE. . Когда вы научитесь говорить в раннем возрасте, вы наверняка не добьетесь такого быстрого прогресса, если бы кто-то рядом с вами завершал ваши предложения каждый раз, когда вы говорите.

Через год или два, когда я почувствовал себя более опытным программистом и хорошо разбирался в PHP, JavaScript, HTML и CSS, IDE позволили мне быстрее создавать проекты, используя мои новые навыки, но с помощью базовых функций и IDE предлагает.

Итак — сейчас это для меня как ругательство, но начнем — моей первой IDE была Dreamweaver. Теперь это анафема для меня, и под этим я не имею в виду «формальное проклятие папы или церковного совета, отлучение человека от церкви или осуждение доктрины». В свою защиту я должен подчеркнуть, что это было 13 лет назад, и мне не потребовалось много времени, чтобы понять, что, хотя в то время это действительно помогло мне кодировать веб-сайты быстрее, это было также ужасно . Я помню, как создавал сайты до того, как появились div. При этом использовалось много таблиц, и Dreamweaver создавал изобилие только того, что я могу описать как код, похожий на диарею. Он вставил сотни атрибутов в каждый тег html и повсюду разместил странный и замечательный дополнительный html. JavaScript и flash (да, я знаю, еще одно ругательство… FLASH ! Аааааааааааааааааааааааааааааааааааааааааааааааааааааааутут) появились в хитроумных блоках сценария в панели предварительного просмотра, и все было просто неуклюже.С тех пор Dreamweaver, возможно, улучшился, но лично я по-прежнему вижу в нем текстовый редактор для создания базовых веб-сайтов.

Вскоре я стал более серьезно относиться к программированию и создавать свои первые веб-приложения. Вскоре я узнал о других предложениях и опробовал ряд новых IDE, включая NetBeans, PhpED, Eclipse и Sublime, и это лишь некоторые из них. К настоящему времени, я думаю, я перепробовал почти все крупные из них и считаю себя опытным пользователем IDE.

Года два назад влюбился.Я не говорю о своей невесте; Я говорю об IDE, которая сделала мою жизнь программирования намного менее напряженной.

Во всех предыдущих IDE у меня было ощущение, что чего-то не хватает; Мне приходилось устанавливать пакеты здесь и там, чтобы получить дополнительные инструменты, и всегда были элементы настройки, которые казались неудобными. Проблема в том, что, перепробовав так много IDE, в каждой из них были элементы, которые мне нравились, и я хотел, чтобы была одна IDE, в которой все это было. Я стал снобом IDE, ожидая, что все будет работать идеально: свиньи летают и миниатюрные единороги бегают к моему столу, чтобы развлекать меня, когда я откладываю дела на потом.

Когда я открыл для себя PHP Storm, жизнь стала намного проще. На мой взгляд, это идеальная IDE. Он не заставлял свиней летать, или генерировали миниатюрных единорогов, но он полностью изменил мой способ работы. Множество IDE, которые я тщетно пробовал раньше, кажутся хуже в сравнении, и я могу с уверенностью сказать, что PHP Storm сделал больше для моего рассудка, чем любое отдельное приложение, которое я купил за последние 5 лет.

Так почему я такой фанат PHP Storm?

Никто в наше время не любит ждать.Меня раздражает необходимость куда-то гулять, потому что это кажется пустой тратой времени. Я лучше бегу трусцой; возможно, я бы попотел от этого, но я бы добился этого гораздо быстрее. Так что для меня просто не подождать минуту, пока эта чертова штука загрузится. С помощью PHP Storm я могу запустить программу и приступить к работе в течение секунды или двух. Единственный многофункциональный редактор, который, я бы сказал, соперничает с PHP Storm в этой области, — это Sublime, однако, когда вы сравниваете их с точки зрения поиска больших проектов, PHP Storm оказывается козырем.

Я довольно разборчив в своем коде. PHP Storm, как настоящая IDE, гарантирует, что соблюдение стандартов нашей компании — это кусок пирога. Я могу исправить все свои ошибки (не то чтобы я их делал 😉) в одном файле, каталоге или даже в полном проекте одним щелчком мыши или сочетанием клавиш. Эта функция помогает мне поддерживать последовательность в коде и не допускать ошибок.

Хотя есть расширения для добавления phpunit и XDEBUG к другим IDE, они не совсем подходят для PHP Storm. Графический интерфейс упрощает настройку и модификацию.Мне больше не нужно тратить драгоценное время на настройку, и мне больше не нужно бороться с отладкой, как это часто бывает с менее способными инструментами в автономных утилитах отладки. Настройка для более сложного проекта может занять 2–3 минуты, но по сравнению с другими решениями здесь не о чем беспокоиться.

На работе использую Mecurial, а дома использую SVN. Обе интеграции доступны в PHP Storm, и он отлично работает для фиксации, отправки, извлечения и возврата. Всего один щелчок мыши дает вам доступ к наиболее распространенным функциям, и все они встроены в меню, а это означает, что вам не нужно использовать другое программное обеспечение или командную строку вне среды IDE.

От удобных настроек проекта до бесчисленных вариантов поиска, простой навигации и отличных ярлыков для поиска функций и определений переменных — PHP Storm делает навигацию по проекту такой же простой, как привязку шнурков. Вы можете расположить наиболее часто используемые элементы проекта в списках избранного. Вы также можете создавать заглушки проектов на основе многочисленных шаблонов, включая Composer, Drupal, WordPress, HTML5 Boilerplate, Twitter Bootstrap, Foundation, Node.js Express, AngularJs и другие — список можно продолжить.

Вот лишь несколько лучших сочетаний клавиш, которые я использую в PHP Storm:

Ctrl + B — Перейти к объявлению — Вы унаследовали проект и нашли функцию, но не знаете, где она определена. Вставьте курсор в название функции, нажмите Ctrl + B и, Боб, ваш дядя, функция появится.

Ctrl + W — Выбрать слово в каретке — Это сэкономит мне секунду или две каждый раз, когда я использую PHP Storm, но все это складывается, и я считаю его действительно полезным. Вместо того, чтобы щелкать и перетаскивать текст, нажатие на этот ярлык один раз выделяет все слово, в котором находится курсор. Повторное нажатие расширяет выделение на следующий содержащий узел (например, выражение, парный тег, весь условный блок, тело метода, класс и т. Д.)

Ctrl + F12 — всплывающее окно структуры файла — отображает всплывающее окно, показывающее структуру текущего файла для быстрой навигации. Если вы начнете печатать, он отфильтрует список. Это замечательно, когда вы не можете вспомнить полное имя функции.

Alt + F7 — поиск использования — представьте, что вам нужно изменить функцию, но вы не знаете, есть ли другие фрагменты кода, которые используют ту же функцию … Просто нажмите Alt + F7, и он перечислит все использования, и вы можете перейти прямо к нему.

Ctrl + Shift + A — Найти действие по имени — показывает список предложений совпадающих имен. По умолчанию в этот список входят только команды меню. Если вы хотите включить команды, не входящие в меню, в список предложений, нажмите Ctrl + Shift + A еще раз.

Alt + Enter — Показать список доступных действий намерения

Ctrl + Slash / Ctrl + Shift + Slash — комментарий или раскомментирование кода

Shift Shift — искать везде . — Просто двойное нажатие Shift, и вы можете искать что угодно где угодно.

Ctrl + D — Дублировать текущую строку или выделение — Я использую это все время. Если вы собираетесь написать строку, аналогичную приведенной выше, нажмите эту комбинацию, измените немного, что вам нужно изменить, и все готово!

Ctrl + Alt + L — Форматировать документ — Если вы немного не разбираетесь в коде (как и я), это замечательно.После небольшой начальной настройки, определяющей, как вы предпочитаете форматировать код, вы можете затем использовать этот ярлык для форматирования кода точно так, как вы его настроили. Это действительно удобно для поддержания чистоты и порядка в коде, но также помогает выявить проблемы в коде, такие как отсутствие тегов.

Я мог бы перечислить сотни ярлыков, но это лишь некоторые из длинного списка, который я регулярно использую. Это всего лишь еще один способ, с помощью которого PHP Storm облегчает мне жизнь.

После использования отличных IDE, я чувствую себя комфортно, высказывая свое мнение о том, какая из них лучше.У каждой IDE есть свои плюсы и минусы, но до сих пор я не нашел ничего, что могло бы сравниться с PHP Storm.

Как инженер-программист, вы имеете право на собственное мнение о том, как кодировать, какой язык и технологии подходят для каждого проекта, какие шаблоны проектирования вы используете и какую IDE используете. У каждого свой образ действий, и может оказаться, что некоторые из вас предпочитают другие IDE; однако для меня, если меня когда-либо спросят, какая лучшая IDE, я всегда отвечу «PHP Storm».

В чем разница между PHPStorm и WebStorm?

Чувствуете, что застряли? Кажется, не можете уловить хотя бы несколько явных различий между PHPStorm и WebStorm ? И вам нужно выбрать наиболее подходящее программное обеспечение IDE для веб-разработки?

Конечно, должны быть некоторые сильные отличия, кроме:

PHPStorm не предоставляет поддержку плагинов, ориентированных на JavaScript, прямо из коробки, как это делает WebStorm.

Теперь, прежде чем мы перейдем к «поиску» некоторых ключевых различий между PHPStorm и WebStorm, я хотел бы добавить одну последнюю рекомендацию, которую следует учитывать при выборе подходящей IDE:

Все сводится к оценке различные решения и определение не САМОЕ ЛУЧШЕЕ, а приложение, которое идеально подходит для ваших конкретных потребностей.

При этом, без лишних слов, давайте оценим «кандидатов»!

Я выделю их ключевые особенности (все с описанием основных различий между ними) , а вы настроите их в соответствии со своими бизнес-требованиями и конкретными потребностями функций , хорошо?

Прежде всего: несколько слов о PHPStorm и WebStorm
Оба программных продукта IDE (интегрированная среда разработки) построены на платформе JetBrains IntelliJ.И ориентирован на веб-разработку.

Это должно быть наиболее краткое, но исчерпывающее общее определение двух наших «кандидатов» здесь. Давайте перейдем к рассмотрению каждого из них по очереди …

PHPStorm: Основные характеристики

Если я хочу превратить текстовое определение в математическую формулу, оно должно быть примерно таким:

WebStorm + Поддержка базы данных + WebStorm = PhpStorm

Или, если я буду придерживаться «обычного», стандартного текстового определения, это будет примерно так:

PHPStorm включает в себя все функции, которые предоставляет WebStorm. оснащен (CSS, JavaScript HTML), PLUS, полноценной поддержкой PHP (и поддержкой баз данных).

Кроме того, придерживаясь самой цели этого сообщения в блоге — указывая на ключевые различия между PHPStorm и WebStorm — я должен добавить, что PHPStorm не поддерживает JS , как это делает WebStorm.

Он не обеспечивает встроенной поддержки плагинов JavaScript, как его «конкурент».

Теперь, когда дело доходит до его основных функций:

  • запустить редактор кода PHP
  • Редактор HTML и CSS
  • Навигация по коду
  • Редактор JavaScript
  • Анализ качества кода
  • База данных и SQL
  • Отладка
  • Smart PHP code редактор
  • Тестирование
  • Интеллектуальная помощь в кодировании

Что касается интеграций, которые поддерживает PHPStorm, вот самые известные из них:

  • некоторые из самых популярных тестовых фреймворков PHP : Behat, Codeception, PHPUnit, PHPSpec
  • Диспетчер зависимостей композитора ; таким образом вы можете управлять зависимостями вашего проекта прямо из IDE
  • , сборщика модулей webpack
  • React ; он отлично оборудован, чтобы помочь вам в линтинге, отладке, редактировании, запуске и настройке ваших приложений
  • различных компиляторов : Less, CSS, Sass, SCSS
  • Angular (Angular 2) ; он упрощает процесс создания настольных, веб- или мобильных приложений.

WebStorm: основные функции

Как уже упоминалось здесь: WebStorm «портит» вас прямо из коробки поддержкой плагинов, ориентированных на JavaScript.

Принимая во внимание, что если вы выберете PHPStorm, вам нужно будет установить необходимые плагины JS вручную для достижения определенной функциональности.

А теперь, возвращаясь к его основным функциям, вот лишь некоторые из них:

  • Расширенные возможности навигации и поиска
  • Поддержка React Native, PhoneGap, Cordova, Ionic и Node.js.
  • Унифицированный пользовательский интерфейс для работы со многими популярными системами контроля версий
  • Помощь в написании кода для JavaScript и языков, скомпилированных в JavaScript, HTML, Node.js и CSS
  • Встроенный отладчик
  • Инструменты качества кода
  • Создан на основе платформы IntelliJ с открытым исходным кодом
  • Расширенная помощь в кодировании для Vue. js, React, Angular и Meteor
  • Spy-js инструмент для отслеживания кода JavaScript
  • Простой унифицированный пользовательский интерфейс для запуска задач Gulp, Grunt или npm прямо из IDE

… и список ключевых функций и заманчивых функций можно продолжить.

Еще одна его сильная сторона, помимо встроенной функциональности , ориентированной на JavaScript, , обеспечивается всеми поддерживаемыми интеграциями:

  • Spring
  • AcquiaMicrosoft
  • Google
  • Acquia

… a «Деталь», которую вы точно не хотите недооценивать, если вы просто учитываете время и усилия, которые вы бы сэкономили при работе с IDE, поддерживающей множественные интеграции.

Это упростит передачу информации между командами и службами и сократит драгоценное время, которое в противном случае тратится на переход с одного программного обеспечения на другое.

Выберите WebStorm, если . ..

… вы фронтенд, разработчик JavaScript или, лучше сказать:

«хардкорный», в зависимости от надежного HTML, JavaScript и CSS-ориентированного такие функции, как JSUnit или Node.JS.

Перейти с PHPStorm Если …

… у вас возникли проблемы с выбором между PHPStorm и WebStorm, наиболее очевидным доказательством того, что первая IDE (PHPStorm) для вас, является следующее:

Вы — бэкэнд-разработчик полного стека

Итак, ваша работа во многом зависит от конкретных функций, таких как рефакторинг кода PHP и встроенные отладчики.

Последнее слово: различия между PHPStorm и WebStorm

Само собой разумеется, что не существует такой вещи, как программное обеспечение IDE, идеально оснащенное для ВСЕХ ваших требований.

По сути, при выборе между PHPStorm и WebStorm:

  1. определение ваших конкретных потребностей (ориентированных на JavaScript или PHP) — это самое первое, что нужно сделать
  2. для среды IDE, которая хорошо интегрируется с другими программами, — это то, что нужно вам необходимо принять во внимание выгоды, которые от этого вытекают.

Итак, вы уже получили свой ответ? Судя по этим ключевым различиям между PHPStorm и WebStorm, какой из них удовлетворяет вашим конкретным требованиям?

Установка PHP Storm для разработки

Я очень долго искал «идеальную» IDE (более 20 лет), я видел некоторые, которые были действительно близки, но недешевы, некоторые были бесплатными (затмение) но не хватало, я искал все, кроме кухонной раковины.Что ж, я считаю, что Jetbrains настолько близко подошел к PHPStorm, как кто-либо, до сих пор не может включить горячую воду, но почти все, о чем вы можете подумать, уже здесь. Он может похвастаться интеграцией контроля версий, отладчиком с ведением журнала и профилировщиком. Если вы используете Php5.4, он может запускать встроенный веб-сервер для отладки, возможности ftp, браузер базы данных, а также сеансы терминала и ssh, журнал событий, интеграцию Vagrant и Composer, возможности развертывания, окно инструментов. , а также множество настроек редактора и настраиваемых карт клавиш, он также поддерживает phpunit. Всего за 99 долларов для индивидуальных разработчиков, чего вы еще желаете?

Установка может быть немного сложной, поэтому я надеюсь, что это обсуждение поможет вам преодолеть любые подводные камни, их пара:

Перейдите на http://www.jetbrains.com/phpstorm/ и загрузите бесплатную пробную версию. Щелкните файл PhpStorm-7.1.3.dmg в папке загрузок, чтобы смонтировать образ диска. Щелкните и перетащите значок PS в папку Applications. как и любое приложение для Mac.

Я обычно перетаскиваю приложение на панель задач, что позволяет мне запускать приложение немного быстрее, когда я работаю.Когда вы впервые запускаете приложение под Mac OSX, вы получаете предупреждение: «PhpStorm.app — это приложение, загруженное из Интернета. Вы уверены, что хотите его открыть?» Просто нажмите «Открыть», и приложение представит вам диалоговое окно, позволяющее импортировать настройки из предыдущей версии PS. Поскольку у нас нет предыдущей версии, мы просто собираемся нажать на второй вариант: «У меня нет предыдущей версии PS или я не хочу импортировать свои настройки».

Теперь нам представлен диалог лицензии со следующими вариантами:

и.) введите данные лицензии

ii.) Введите адрес сервера лицензий

iii.) Оцените бесплатно в течение 30 дней

Сейчас мы выберем 3-й вариант и нажмем «ок». Затем нам предоставляется экран с лицензионным соглашением, установите флажок «Принять все условия лицензии» и нажмите «ОК».

Теперь перед нами диалоговое окно начальной настройки PS. Для схемы раскладки у вас есть выбор:

i) Mac OS X 10.5+

ii) Intellij IDEA Classic — MAC OS X

iii) Emacs

iv) Visual Studio

v) Eclipse vi) Eclipse (MAC OS X)

vii) NetBeans 6.5

Выберите тот, который вам больше всего знаком или удобен.

Следующее поле выбора позволяет выбрать тему IDE: по умолчанию или Darcula. В Darcula есть предустановленные цвета и шрифты редактора. Если вы выберете По умолчанию, следующее поле выбора предложит:

По умолчанию

AllHallowsEve

Доска

Кобальт

Даркула

Монокай

Рейс

Сумерки

Яркие чернила

теплый неон

Чтобы помочь нам выбрать то, что мы хотели бы, есть ссылка «Нажмите, чтобы просмотреть». Давайте щелкнем по нему, чтобы сделать наш выбор, и мы сможем выбрать тот, который нам больше всего нравится. Щелчок по каждой из вышеперечисленных схем цвета / шрифта даст нам предварительный просмотр в окне чуть ниже, если вы нажали ссылку «Нажмите, чтобы просмотреть». По умолчанию это единственная версия с белым фоном, все остальные — тёмным. Мне лично нравится Cobalt, так что это мой выбор. Вы также можете использовать пункт меню настроек приложения, чтобы изменить свой выбор позже, поэтому это не будет серьезной проблемой, если вы позже решите, что ваш первоначальный выбор неприятен.(Это случается с лучшими из нас.)

Также есть флажок «Разрешить открытие файлов и проектов из командной строки», что, вероятно, является хорошей идеей. Затем он запрашивает путь к сценарию, который представляет собой символическую ссылку, которую PS создаст для обеспечения возможности запуска приложения из командной строки, в моем случае он читает «/ usr / local / bin / pstorm», в вашем случае он может быть другим. пример. Вы можете изменить его сейчас на любой короткий, но ps НЕ является хорошей идеей, потому что в linix / Mac ps уже является очень ценной утилитой, и вы получите ее вместо PHPStorm, поэтому pstorm (что он предлагает) достаточно короткий для меня.

Теперь перед нами еще одно диалоговое окно, в котором объявляется: «Параметры внешнего вида IDE будут применены после перезапуска. Вы хотите перезапустить сейчас?» Теперь давайте нажмем «да» и посмотрим, как выглядит наша IDE в соответствии с выбранным нами способом настройки.

Наконец, перед нами стартовый экран PHPStorm (с примененной темой, которую мы выбрали). Последние проекты будут пустыми, так как мы еще ничего с этим не сделали. Часть диалога быстрого запуска содержит:

Создать новый проект

Открыть каталог

Создать новый проект из существующих файлов

Выписка из системы контроля версий

Настроить

Документы и инструкции

Давайте рассмотрим каждый из этих вариантов в цифрах:

1) Create a new project представляет нам диалоговое окно для присвоения имени проекту, запрашивает каталог для хранения нашего нового проекта, с кнопкой обзора рядом с ним, чтобы помочь нам, и что это за проект.

Это последнее поле выбора имеет следующее:

Пустой проект

Композитор проект

Модуль Drupal

Проект App Engine

Шаблон HTML5

Загрузочный файл Twitter

Фонд

Сначала он запрашивает имя проекта и предлагает диалоговое окно для перехода к папке, в которой вы хотите разместить проект.

2) Open Directory делает именно это, он представляет окно для выбора каталога для открытия.

3) «Создать новый проект из существующих файлов» дает вам несколько вариантов, например:

Веб-сервер установлен локально, исходные файлы находятся в корневом веб-сервере

Веб-сервер установлен локально, исходные файлы находятся в другом месте

Веб-сервер находится на удаленном хосте, файлы доступны через общий сетевой ресурс или подключенный диск

Веб-сервер находится на удаленном хосте, файлы доступны по ftp / sftp / ftps

Исходные файлы находятся в локальном каталоге, веб-сервер еще не настроен

4) Выписка из системы контроля версий спрашивает, из какого типа контроля версий следует извлечь:

Github

CVS

Git

Меркуриал

Подрывная версия

5) Сконфигурируйте слайды справа и предоставьте вам следующие варианты:

Настройки

Плагины

Импорт

Настройки

Экспорт

Настройки

6) Docs and How-Tos дает варианты для:

Прочитать справку

Совет дня

Ссылка на раскладку по умолчанию

В заключение, установка PhpStorm может показаться немного пугающей, но я думаю, что это того стоит, особенно если вы хотите, чтобы ваша IDE была всеобъемлющей, как интеграция, которую предлагает эта.

phpstorm — Начало работы с phpstorm

В этом разделе представлен обзор того, что такое phpstorm, и почему разработчик может захотеть его использовать.

Следует также упомянуть любые крупные темы в phpstorm и ссылки на связанные темы. Поскольку документация для phpstorm является новой, вам может потребоваться создать начальные версии этих связанных тем.

Версии

Версия Дата выпуска
2017.1 2017-04-27
2016,3 2016-11-24
2016,2 2016-07-13
2016,1 2016-03-17
10 2015-11-02
9 2015-07-08
8 2014-09-16
7 2013-10-22
6 2013 -03-12
5 2012-09-12
4 2012-04-24
3 2012-01-12
2 2011-02 -14
1 2010-05-27

Установка

Введение

JetBrains PhpStorm — это коммерческая кроссплатформенная IDE для PHP. Он построен на платформе JetBrains IntelliJ IDEA, написанной на Java. Таким образом, он будет работать во всех основных операционных системах, поддерживающих Java.

Пользователи могут расширить среду IDE, установив плагины, созданные для платформы IntelliJ.

Требования

Оборудование

  • Минимум 1 ГБ ОЗУ, рекомендуется 2 ГБ
  • 1024×768 минимальное разрешение экрана

Программное обеспечение

Рекомендуется использовать встроенную среду выполнения Oracle Java Runtime Environment.OpenJDK может привести к неожиданному поведению и официально не поддерживается.

Установка PhpStorm

Чтобы начать использовать PhpStorm, загрузите версию для нужной ОС со страницы загрузки PhpStorm. Следующий шаг зависит от ОС.

ОС Особые инструкции

Linux
  • Распакуйте загруженный файл .tar.gz .
  • Запустите PhpStorm.sh из подкаталога bin
OSX
  • Загрузите PhpStorm-2016. 2.dmg Файл образа диска Mac OS X
  • Смонтируйте его как другой диск в вашей системе
  • Скопируйте PhpStorm в папку приложений
Окна
  • Запустите загруженный файл .exe , который запустит мастер установки.
  • Выполните все шаги, предложенные мастером.
  • Обратите особое внимание на соответствующие варианты установки.

Лицензия

PhpStorm включает в себя пробный лицензионный ключ для бесплатной 30-дневной пробной версии.Чтобы использовать IDE по истечении этого периода, необходимо получить лицензию на PhpStorm у Jetbrains.

Бесплатные или со скидкой предлагаются различные лицензии:

  • Образование и обучение / скидка для студентов и преподавателей: бесплатно
  • Скидка на проекты с открытым исходным кодом: бесплатно
  • Скидка на выпускной Скидка 25%
  • Скидка для стартапов: Скидка 50%

Программа раннего доступа

В качестве альтернативы Jetbrains также предлагает программу, которая позволяет пользователю бесплатно опробовать предварительные версии.

Как указано на странице PhpStorm EAP, предварительная версия программного обеспечения может работать нестабильно:

Предупреждаем : важно отличать EAP от традиционного предварительная версия программного обеспечения. Обратите внимание, что качество версий EAP может временами быть намного ниже даже обычных стандартов бета-тестирования.

Система отслеживания проблем

На случай, если у вас возникнут проблемы, есть официальный трекер проблем, где вы можете открывать отчеты об ошибках и запросы функций.




.