Jest to kolejny post z serii dotyczącej środowiska developerskiego dla Magento 2. Pozostałe posty możesz znależć tutaj. Dzisiaj pokażę jak zainstalować i skonfigurować PHP Storm.

PHP Storm to tzw IDE czyli zintegrowane środowisko programistyczne. Mówiąc prostymi słowami jest to program za pomocą którego możesz edytować kod. Program ten ma dużo funkcjonalności, którę pomagają lub przyśpieszają pracę takie jak np. sprawdzanie kodu pod kątem składni, podpowiadanie, integracja z narzędziami takimi jak Git, xDebug, Docker, połączenie i przeglądanie bazy danych i wiele innych. Tylko od Ciebie zależy w jakim stopniu będziesz korzystał z tych wszystkich narzędzi.

Przykładowo PHP Storm ma bardzo dobre graficzne narzędzie do zarządzania repozytorium GIT. Osobiście wolę korzystać z Gita w konsoli, a jedyną funkcją z jakiej korzystam w PHP Storm w kontekście GIT’a to rozwiązywanie konfliktów.

Instalacja PHP Storm

Na Ubuntu możesz w łatwy sposób zainstalować PHP Storm poprzez pakiet Snap:

Gdy instalacja zakończy się wejdź do Activities i wyszukaj PHP Storm. Polecam dodać program do ulubionych.

Po otwarciu zostaniesz zapytany o licencję. Jeśli jej nie masz to skorzystaj z darmowego triala. Następnie będziesz mógł zainstalować dodatkowe pluginy. Na start polecam plugin wspierający Basha. Gdy będziesz miał to za sobą powinieneś zobaczyć coś takiego:

PHP Storm

Kliknij open i znajdż folder z projektem Magento. W moim przypadku jest to /var/www/magento2.3

Konfiguracja Interpretera PHP

W PHP Storm wejdź do FIle -> Settings -> Languages & Frameworks > PHP

PHP language level: wybierz 7.2.

CLI Interpeters: kliknij w pzycisk Nastepnie w popupie +. Z listy wybierz „From docker, vagrant…”. Pojawi się okienko w którym dodasz nowy serwer dockera i wybierzesz obraz phpfpm. Ustawienia powinny wyglądać tak:

Php Storm konfiguracja interpretera PHP

Po kliknięiu ok powinieneś zobaczyć kolejne okienko w którym kliknij kolejno Apply i OK.

PHP Storm - interpeter php

Teraz jeszcze musisz ustawić mapowanie lokalnego folderu z /var/www/magento2.3 na /var/www/html na kontenerze. konfiguracja powinna wyglądać tak:

PHP Storm - ustawienia PHP

Konfiguracja Code Sniffer

Code sniffer (phpcs) jest to narzędzie służące do statycznej analizy kodu. Dzięki niemu będzie Ci łatwiej pisać czysty kod, zgodny ze standardami.

Aby skonfigurować Code Sniffera wejdź w PHP Stormie do File -> Settings -> Languages & Frameworks -> PHP -> Quality Tools -> Code Sniffer

Przy polu configuration kliknijnastępnie + i dodaj nową konfigurację wybierając interpreter, który utworzyłeś w poprzednim kroku.

PHP Storm - ustawienia COde Sniffera

Zaakceptuj zmiany i wyjdż.

Teraz przejdź do File > Settings > Editor > Inspections > PHP > Quality tools > PHP Code Sniffer validation. Tutaj zaznacz checkboxa i w skecji po prawej stronie gdzie masz pole Coding standards kliknij w ikonę odświeżenia i następnie z listy wybierz custom.

PHP Storm - inspekcje kodu

Teraz kliknij w przycisk na prawo od listy i wskaż ścieżkę do ruleseta.

PHP Storm - code sniffer - dodawanie ruleseta

Teraz Code Sniffer będzie analizował Twój kod PHP.

PHP Storm - analiza kodu

Połączenie z bazą danych

Teraz przydałoby się połączyć z baza danych. Nawet robiąc frontend w Magento 2 połączenie z bazą przydaję się. Czasem trzeba coś tam podejrzeć, zobaczyć, zmienić. Do takich prostych zastosowań wystarczy Ci narzędzie wbudowane w PHP Storm, jeśli chcesz możesz skorzystać z programów dedykowanych do baz danych takich jak np. MySQL Worjbench. Moim zdaniem na początek to co daje PHP Storm w zupełności wystarczy.

Po praej stronie okna masz przycisk database Kliknij w niego, z rozwijanego panelu kliknij +

PHP Storm - bazy danych

Następnie dodaj dane niezbędne do połączenia. Wszystkie dane znajdziesz w folderze app/etc/env.php

PHP Storm -dodanie bazy danych

Teraz możesz swobodnie przeglądać sobię bazkę.

PHP Storm - połączenie z MySql

Podsumowanie

Dzisiaj zainstalowałeś PHP Storma i skonfigurowałeś Code Sniffera. Poza tym połączyłeś się z baza danych. Jeśli przez to wszystko przeszedłeś to masz zadatki na bardzo dobrego developera Magento 🙂 Następnym razem może coś zakodujemy… Co Ty na to?

Żródła

https://github.com/squizlabs/PHP_CodeSniffer

https://devdocs.magento.com/guides/v2.3/coding-standards/code-standard-sniffers.html