SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
JetBrains PhpStorm
Tips & Tricks
Scopes
Scope – это набор файлов с которыми можно проделывать разные операции,
а именно:
Навигация
Поиск использований
Инспекция кода
Цветовое отображение в режиме дебага
Settings | Appearance and Behavior | Scopes
Ctrl + Alt + Shift + F7 - Find Usages Settings, Edit | Find
Code Sniffer, Mess Detector
Утилиты статического анализа кода
Code Sniffer – инструмент для обнаружения исправления нарушений
определенных стандартов оформления кода
Mess Detector – user-friendly обертка для получения метрик измеряемых
PHP Depend. Анализирует код на:
Возможные баги
Неоптимальный код
Чрезмерно усложненные выражения
Неиспользуемые параметры, методы, свойства
Settings | Languages & Frameworks | PHP | Code Sniffer, Mess Detector
Совет: Обратить внимание на плагин
Php Inspections (EA Extended)
Code Sniffer, Mess Detector
Утилиты статического анализа кода
Для включения инспекции кода Magento2 с использованием Code Sniffer и
Mess Detector необходимо выполнить следующее:
Composer Install/Update (обе библиотеки прописаны "require-dev")
В Settings | Languages & Frameworks | PHP | Code Sniffer, Mess Detector
создать конфигурацию указав пути к исполняемым файлам утилит:
/vendor/bin/phpmd.bat и /vendor/bin/phpcs.bat соответственно
В Settings | Editor | Inspections | PHP включить чекбоксы для обеих
утилит
Settings | Languages & Frameworks | PHP | Code Sniffer, Mess Detector
External Tools
External Tools – это отдельные CLI приложения: генераторы кода,
анализаторы, пре- и постпроцессоры, утилиты базы данных и т.д.
Как параметр можно передавать контекстную информацию (путь текущего
файла, путь текущего проекта), отображать вывод командной строки и
т.д.
Доступ к утилитам можно получить через меню Tools и контекстное меню;
можно назначить горячую клавишу.
Settings | Tools | External Tools
Quick Lists
Quick List – это всплывающее меню сконфигурированных пользователем
команд, доступное по горячей клавише или комбинации клавиш.
Команды External Tools могут быть объединены в Quick List:
Создать команду в External Tools: Settings | Tools | External Tools
Создать Quick List в Settings | Appearance and Behavior | Quick Lists
Назначить Quick List горячую клавишу в Settings | Keymap
Settings | Appearance and Behavior | Quick Lists
Scratches
Scratch – это временный файл-черновик для редактирования текста или
кода, выполнения операций поиска, исследовательских целей и т.д.
В PhpStorm доступны два вида черновиков:
Scratch files – полнофункциональные файлы с возможностью выполнения
и дебага
Scratch buffers – простые .txt файлы предназначенные исключительно
для текста
Settings | Appearance and Behavior | Quick Lists
Ctrl + Shift + Alt + Insert
Ctrl + Shift + A, New Scratch Buffer
Command Line Tool Support
PHP-специфичные и PHP-агностические CLI команды доступные через удобный
интерфейс PhpStorm.
Для интеграции команды bin/magento выполнить:
Открыть Settings | Tools | Command Line Tool Support
Add new tool, Custom tool
Tool path: $PhpExecutable$ $ProjectFileDir$/bin/magento, Alias: m
После создания команды, выбрать, - нажать “Open definition in editor”, и
заменить контент файла на gist: https://gist.github.com/ygrigoriev/56811dc64e296b8fb3a1ca7b52df630b
Settings | Tools | Command Line Tool Support
Ctrl + Shift + X -
Command Line Tool Console
Debugging: JavaScript
Нужно:
Плагин JavaScript Debugger установлен и включен
Google Chrome + расширение JetBrains IDE Support
Начало дебаг-сессии:
Клик ПКМ, Inspect in PhpStorm
Questions

Contenu connexe

En vedette

Phpstorm & Drupal presentation from DrupalCamp NW 2013
Phpstorm & Drupal presentation from DrupalCamp NW 2013Phpstorm & Drupal presentation from DrupalCamp NW 2013
Phpstorm & Drupal presentation from DrupalCamp NW 2013ixisit
 
Magento2 airplane
Magento2 airplaneMagento2 airplane
Magento2 airplaneMagento Dev
 
Being functional in PHP (DPC 2016)
Being functional in PHP (DPC 2016)Being functional in PHP (DPC 2016)
Being functional in PHP (DPC 2016)David de Boer
 
Magento development
Magento developmentMagento development
Magento developmentHuyen Do
 
Top 5 magento secure coding best practices Alex Zarichnyi
Top 5 magento secure coding best practices   Alex ZarichnyiTop 5 magento secure coding best practices   Alex Zarichnyi
Top 5 magento secure coding best practices Alex ZarichnyiMagento Dev
 
Rock-solid Magento Development and Deployment Workflows
Rock-solid Magento Development and Deployment WorkflowsRock-solid Magento Development and Deployment Workflows
Rock-solid Magento Development and Deployment WorkflowsAOE
 
eCommerce with Magento
eCommerce with MagentoeCommerce with Magento
eCommerce with MagentoTLLMN
 
A Successful Magento Project From Design to Deployment
A Successful Magento Project From Design to DeploymentA Successful Magento Project From Design to Deployment
A Successful Magento Project From Design to DeploymentJoshua Warren
 
Rock-solid Magento Deployments (and Development)
Rock-solid Magento Deployments (and Development)Rock-solid Magento Deployments (and Development)
Rock-solid Magento Deployments (and Development)AOE
 
Vue js 大型專案架構
Vue js 大型專案架構Vue js 大型專案架構
Vue js 大型專案架構Hina Chen
 
Last train to php 7
Last train to php 7Last train to php 7
Last train to php 7Damien Seguy
 

En vedette (14)

Phpstorm & Drupal presentation from DrupalCamp NW 2013
Phpstorm & Drupal presentation from DrupalCamp NW 2013Phpstorm & Drupal presentation from DrupalCamp NW 2013
Phpstorm & Drupal presentation from DrupalCamp NW 2013
 
Magento2 airplane
Magento2 airplaneMagento2 airplane
Magento2 airplane
 
Being functional in PHP (DPC 2016)
Being functional in PHP (DPC 2016)Being functional in PHP (DPC 2016)
Being functional in PHP (DPC 2016)
 
Magento devhub
Magento devhubMagento devhub
Magento devhub
 
Magento development
Magento developmentMagento development
Magento development
 
Top 5 magento secure coding best practices Alex Zarichnyi
Top 5 magento secure coding best practices   Alex ZarichnyiTop 5 magento secure coding best practices   Alex Zarichnyi
Top 5 magento secure coding best practices Alex Zarichnyi
 
Magento
MagentoMagento
Magento
 
Rock-solid Magento Development and Deployment Workflows
Rock-solid Magento Development and Deployment WorkflowsRock-solid Magento Development and Deployment Workflows
Rock-solid Magento Development and Deployment Workflows
 
Slides2 str
Slides2 strSlides2 str
Slides2 str
 
eCommerce with Magento
eCommerce with MagentoeCommerce with Magento
eCommerce with Magento
 
A Successful Magento Project From Design to Deployment
A Successful Magento Project From Design to DeploymentA Successful Magento Project From Design to Deployment
A Successful Magento Project From Design to Deployment
 
Rock-solid Magento Deployments (and Development)
Rock-solid Magento Deployments (and Development)Rock-solid Magento Deployments (and Development)
Rock-solid Magento Deployments (and Development)
 
Vue js 大型專案架構
Vue js 大型專案架構Vue js 大型專案架構
Vue js 大型專案架構
 
Last train to php 7
Last train to php 7Last train to php 7
Last train to php 7
 

Similaire à Yurii Hryhoriev "Php storm tips&tricks"

2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...Омские ИТ-субботники
 
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийАнтон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийPositive Hack Days
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кодаSergii Shmarkatiuk
 
Improvement of PHP code quality (by Alexander Makhomet) - Web Back-End Tech H...
Improvement of PHP code quality (by Alexander Makhomet) - Web Back-End Tech H...Improvement of PHP code quality (by Alexander Makhomet) - Web Back-End Tech H...
Improvement of PHP code quality (by Alexander Makhomet) - Web Back-End Tech H...Innovecs
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...Positive Hack Days
 
инструменты веб разработчика
инструменты веб разработчикаинструменты веб разработчика
инструменты веб разработчикаSoftline
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими рукамиRoman Dvornov
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеSQALab
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Тимур Шевляков
Тимур ШевляковТимур Шевляков
Тимур ШевляковCodeFest
 
Aspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHPAspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHPAlexander Lisachenko
 
Сергей Белов
Сергей БеловСергей Белов
Сергей БеловCodeFest
 
программное обеспечение пк
программное обеспечение пкпрограммное обеспечение пк
программное обеспечение пкpochtalion
 
Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08
Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08
Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08Vladislav Morgun
 

Similaire à Yurii Hryhoriev "Php storm tips&tricks" (20)

2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
 
Java one presentation
Java one presentationJava one presentation
Java one presentation
 
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийАнтон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
 
Improvement of PHP code quality (by Alexander Makhomet) - Web Back-End Tech H...
Improvement of PHP code quality (by Alexander Makhomet) - Web Back-End Tech H...Improvement of PHP code quality (by Alexander Makhomet) - Web Back-End Tech H...
Improvement of PHP code quality (by Alexander Makhomet) - Web Back-End Tech H...
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developer
 
Visual studio toolbox
Visual studio toolboxVisual studio toolbox
Visual studio toolbox
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
 
инструменты веб разработчика
инструменты веб разработчикаинструменты веб разработчика
инструменты веб разработчика
 
Sonar quality
Sonar qualitySonar quality
Sonar quality
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими руками
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проекте
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Тимур Шевляков
Тимур ШевляковТимур Шевляков
Тимур Шевляков
 
Aspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHPAspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHP
 
Сергей Белов
Сергей БеловСергей Белов
Сергей Белов
 
программное обеспечение пк
программное обеспечение пкпрограммное обеспечение пк
программное обеспечение пк
 
Team workflow
Team workflowTeam workflow
Team workflow
 
Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08
Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08
Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08
 

Plus de Magento Dev

DevHub 3 - Pricing
DevHub 3 - PricingDevHub 3 - Pricing
DevHub 3 - PricingMagento Dev
 
Imagine recap-devhub
Imagine recap-devhubImagine recap-devhub
Imagine recap-devhubMagento Dev
 
Разработка на стероидах или как я перестал бояться и полюбил свою IDE
Разработка на стероидах или как я перестал бояться и полюбил свою IDEРазработка на стероидах или как я перестал бояться и полюбил свою IDE
Разработка на стероидах или как я перестал бояться и полюбил свою IDEMagento Dev
 
Magento 2 Page Cache
Magento 2 Page CacheMagento 2 Page Cache
Magento 2 Page CacheMagento Dev
 
Data migration into eav model
Data migration into eav modelData migration into eav model
Data migration into eav modelMagento Dev
 
Gearman jobqueue
Gearman jobqueueGearman jobqueue
Gearman jobqueueMagento Dev
 
Choreography of web-services
Choreography of web-servicesChoreography of web-services
Choreography of web-servicesMagento Dev
 
Take more from Jquery
Take more from JqueryTake more from Jquery
Take more from JqueryMagento Dev
 

Plus de Magento Dev (13)

DevHub 3 - Pricing
DevHub 3 - PricingDevHub 3 - Pricing
DevHub 3 - Pricing
 
DevHub 3 - CVS
DevHub 3 - CVSDevHub 3 - CVS
DevHub 3 - CVS
 
Imagine recap-devhub
Imagine recap-devhubImagine recap-devhub
Imagine recap-devhub
 
Разработка на стероидах или как я перестал бояться и полюбил свою IDE
Разработка на стероидах или как я перестал бояться и полюбил свою IDEРазработка на стероидах или как я перестал бояться и полюбил свою IDE
Разработка на стероидах или как я перестал бояться и полюбил свою IDE
 
Magento 2 Page Cache
Magento 2 Page CacheMagento 2 Page Cache
Magento 2 Page Cache
 
Data migration into eav model
Data migration into eav modelData migration into eav model
Data migration into eav model
 
Php + erlang
Php + erlangPhp + erlang
Php + erlang
 
Tdd php
Tdd phpTdd php
Tdd php
 
Gearman jobqueue
Gearman jobqueueGearman jobqueue
Gearman jobqueue
 
Autotest
AutotestAutotest
Autotest
 
Choreography of web-services
Choreography of web-servicesChoreography of web-services
Choreography of web-services
 
Security in PHP
Security in PHPSecurity in PHP
Security in PHP
 
Take more from Jquery
Take more from JqueryTake more from Jquery
Take more from Jquery
 

Yurii Hryhoriev "Php storm tips&tricks"

  • 2. Scopes Scope – это набор файлов с которыми можно проделывать разные операции, а именно: Навигация Поиск использований Инспекция кода Цветовое отображение в режиме дебага Settings | Appearance and Behavior | Scopes Ctrl + Alt + Shift + F7 - Find Usages Settings, Edit | Find
  • 3.
  • 4.
  • 5.
  • 6. Code Sniffer, Mess Detector Утилиты статического анализа кода Code Sniffer – инструмент для обнаружения исправления нарушений определенных стандартов оформления кода Mess Detector – user-friendly обертка для получения метрик измеряемых PHP Depend. Анализирует код на: Возможные баги Неоптимальный код Чрезмерно усложненные выражения Неиспользуемые параметры, методы, свойства Settings | Languages & Frameworks | PHP | Code Sniffer, Mess Detector Совет: Обратить внимание на плагин Php Inspections (EA Extended)
  • 7. Code Sniffer, Mess Detector Утилиты статического анализа кода Для включения инспекции кода Magento2 с использованием Code Sniffer и Mess Detector необходимо выполнить следующее: Composer Install/Update (обе библиотеки прописаны "require-dev") В Settings | Languages & Frameworks | PHP | Code Sniffer, Mess Detector создать конфигурацию указав пути к исполняемым файлам утилит: /vendor/bin/phpmd.bat и /vendor/bin/phpcs.bat соответственно В Settings | Editor | Inspections | PHP включить чекбоксы для обеих утилит Settings | Languages & Frameworks | PHP | Code Sniffer, Mess Detector
  • 8.
  • 9.
  • 10. External Tools External Tools – это отдельные CLI приложения: генераторы кода, анализаторы, пре- и постпроцессоры, утилиты базы данных и т.д. Как параметр можно передавать контекстную информацию (путь текущего файла, путь текущего проекта), отображать вывод командной строки и т.д. Доступ к утилитам можно получить через меню Tools и контекстное меню; можно назначить горячую клавишу. Settings | Tools | External Tools
  • 11.
  • 12.
  • 13. Quick Lists Quick List – это всплывающее меню сконфигурированных пользователем команд, доступное по горячей клавише или комбинации клавиш. Команды External Tools могут быть объединены в Quick List: Создать команду в External Tools: Settings | Tools | External Tools Создать Quick List в Settings | Appearance and Behavior | Quick Lists Назначить Quick List горячую клавишу в Settings | Keymap Settings | Appearance and Behavior | Quick Lists
  • 14.
  • 15.
  • 16. Scratches Scratch – это временный файл-черновик для редактирования текста или кода, выполнения операций поиска, исследовательских целей и т.д. В PhpStorm доступны два вида черновиков: Scratch files – полнофункциональные файлы с возможностью выполнения и дебага Scratch buffers – простые .txt файлы предназначенные исключительно для текста Settings | Appearance and Behavior | Quick Lists Ctrl + Shift + Alt + Insert Ctrl + Shift + A, New Scratch Buffer
  • 17. Command Line Tool Support PHP-специфичные и PHP-агностические CLI команды доступные через удобный интерфейс PhpStorm. Для интеграции команды bin/magento выполнить: Открыть Settings | Tools | Command Line Tool Support Add new tool, Custom tool Tool path: $PhpExecutable$ $ProjectFileDir$/bin/magento, Alias: m После создания команды, выбрать, - нажать “Open definition in editor”, и заменить контент файла на gist: https://gist.github.com/ygrigoriev/56811dc64e296b8fb3a1ca7b52df630b Settings | Tools | Command Line Tool Support Ctrl + Shift + X - Command Line Tool Console
  • 18.
  • 19.
  • 20. Debugging: JavaScript Нужно: Плагин JavaScript Debugger установлен и включен Google Chrome + расширение JetBrains IDE Support Начало дебаг-сессии: Клик ПКМ, Inspect in PhpStorm
  • 21.