Eclipse jako środowisko programistyczne dla Drupala

Programując w PHP można ograniczyć się do zwykłego edytora tekstu oferującego najwyżej podświetlanie składni. Szybko jednak osiągnie się pułap, w którym kodu jest za dużo i nie sposób go ogarnąć, jeszcze gorzej gdy gdzieś znajduje się trudny do wytropienia błąd.

Wtedy tropienie błędów (tzw. debugging) lub po prostu śledzenie przebiegu wykonywania kodu (tracing) sprowadzać się może jedynie do wstawiania prostych printów mających na celu wyświetlenie wartości zmiennych i miejsca w którym aktualnie znajduje się interpreter. Jest to jednak zadanie uciążliwe i mało skuteczne. Najwygodniej jest przemóc się, poznać i zacząć używać IDE (zintegrowane środowisko programistyczne).

Wybór IDE

Do najpopularniejszych środowisk programistycznych oferujących obsługę języka PHP zaliczyć trzeba Eclipse oraz Netbeans. Oba zostały stworzone z myślą o języku java, i są też w nim napisane, jednak mają na tyle modułową budowę że mogły powstać ich mutacje obsługujące inne języki.

Przeglądając opinie internautów odniosłem wrażenie, że Netbeans uchodzi za bardziej "profesjonalne" narzędzie. Ma ono jednak podstawową wadę - korzysta z biblioteki swing, która to sama obsługuje choćby renderowanie czcionek, w skutek czego na ekranie naszego linuksowego monitora zobaczymy tak obrzydliwe fonty, że praca w tym środowisku jeśli w ogóle jest możliwa to na pewno jest też bolesna.

SWT to biblioteka, na której zbudowany jest interfejs Eclipse i tu otrzymujemy fonty renderowane zgodnie z ustawieniami w naszym systemie - wszystko wygląda normalnie i przyjemnie dla oka, a biorąc pod uwagę że narzędzie to ma służyć pracy z tekstem jest to moim zdaniem kluczowa cecha przy wyborze.

Eclipse PDT

PHP Development Tools czyli gotowy zestaw podstawowego Eclipse IDE i pluginów do pracy nie tylko z PHP, ale też z innymi webowymi językami. Znaleźć je można w dziale Downloads gdzie na chwilę pisania tego artykułu polecana jest wersja Helios SR2. Taką więc pobieramy ok. 140mb.

Paczka zawiera skompilowany, gotowy do użycia program. Można go sobie wypakować w dowolnym miejscu, ja takie rzeczy trzymam w katalogu /opt wraz z innymi programami instalowanymi w systemie z paczki a nie jak zwykle z repozytorium.

Debugger PHP XDebug

Poza zainstalowanym stosem LAMP do wygodnej pracy oraz dla wykorzystania pełni potencjału Eclipse konieczne jest zainstalowanie debuggera php. Eclipse domyślnie konfigurowane jest w kierunku Zend Debuggera (nic dziwnego, w końcu to m.in. oni stworzyli PDT) zakładam jednak, że zdecydowana większość woli skorzystać z darmowego XDebug. Instalacja sprowadza się do wybrania jednej paczki z repozytorium.

Konfiguracja polega na dodaniu do pliku /etc/php5/conf.d/xdebug.ini poniższych parametrów:

xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

Konfiguracja pod Drupala

Generalne wytyczne dotyczące formatowania kodu Drupala można ustawić w Eclipsie. Wszystkie parametry ustawiane są w menu Window -> Preferences

  1. Przede wszystkim dodajemy typu plików charakterystyczne dla Drupala, a zwierające kod php:
    Menu General->Content Types a w nim Text->PHP Content Type
    dodajemy kolejno: *.module, *.theme, *.install, *.engine, *.profile, *.test
     
  2. Będziemy wstawiać dwie spacje zamiast tabulatora:
    Menu General->Editors->Text Editors a w nim:
    Displayed tab width = 2
    Insert spaces for tabs = TAK

    Menu PHP->Code Style->Formatter a w nim:
    Tab policy = Spaces
    Indention size = 2
     
  3. Konfigurujemy środowisko:
    Menu PHP->Debug a w nim:
    PHP Debugger = XDebug

    Menu PHP->PHP Executable a w nim:
    Name = My local PHP
    Executable path = /usr/bin/php
    PHP debugger = XDebug

    Menu PHP->PHP a w nim:
    PHP Version = PHP 5.3

 

Nowy projekt w Eclipse

WUzupełnianie składni w Eclipse tak skonfigurowanym środowisku można już otworzyć istniejącą instalację Drupala - menu File->New->PHP Project i Create project at existing location. Spowoduje to zaimportowanie całego wskazanego katalogu do projektu. Od teraz uzupełnianie składni, śledzenie wykonywania kodu czy debugowanie będzie obejmowało wszystko co znajduje się w projekcie, zatem m.in. definicje funkcji (także całe drupalowe API), zmienne, tablice i obiekty znajdujące się w zasięgu wykonywanego kodu.

W zależności od używanej skórki korekty może wymagać kolor wyskakujących podpowiedzi tzw. tool-tips. Eclipse PDT posiada niestety błąd polegający na braku możliwości skonfigurowania tła dla tych podpowiedzi, jest on brany z ustawień systemowych, ale w ślad za nim nie idzie kolor pierwszoplanowy. Jeśli wyskakujące okna w Eclipse są nieczytelne (np. czarne) zmień ustawienia w Ubuntu. Menu System->Preferencje->Wygląd, a tu Dostosuj->Kolory->Podpowiedzi. Eclipse może wymagać zrestartowania.

Komentarze

Fajny art.

Szkoda, że nie można tworzyć projektów które są umieszczone na zdalnym hoście. Ja zazwyczaj pracuje przez FTP.

Pozdrawiam

Chyba można

Witam i dziękuję za komentarz.

Do edycji 100% na żywo istnieje odpowiedni plugin: http://www.eclipse.org/tm/
Znalazłem też możliwość importu projektów z FTP na lokalną maszynę i późniejszą synchronizację: http://www.frazpc.pl/board/odp/183819/2969166

Nie sprawdzałem żadnego bo pracuję na localu.

Autor

Łukasz Obuchowicz

Data publikacji

05-05-2011

Kategorie

Drupal, Z Firmy, Ubuntu

Czytane

6824 razy

Komentarzy

2