Marek Wywiał

python software developer

netbeans 6.5 + php5 + symfony + xdebug

by Marek Wywiał
  |   Source

W Netbeans 6.5 pojawia się support dla php5. W/g informacji na stronie netbeans oznacza to:

  • PHP Editor (Code completion, syntactic and semantic code highlighting)
  • Support for heredoc notation and PHTML
  • Debugging using Xdebug
  • Generators for MySQL database code snippets

Temat, który najbardziej mnie interesował to jak zadziała debugging przy pomocy Xdebug. Postanowiłem sprawdzić to z istniejącym projektem bazującym na frameworku Symfony.

  1. Zainstalowałem netbeans pobierając odpowiednią paczkę ze strony netbeans.
  2. Zainstalowałem Xdebug poprzez pecl install xdebug i dodaniu do konfiguracji php wierszy:
    # xdebug, jako zend_extension. ścieżke zmienić należy oczywiście na odpowiednią dla Twojej instalacji
    
    zend_extension=/usr/lib/php5/20060613+lfs/xdebug.so
    
    xdebug.remote_enable=on
    
    
  3. dodałem w netbeans nowy projekt php z istniejącymi źródłami (projekt już mam uruchomiony), podając podaczas konfiguracji:
    • ścieżkę do źródeł projektu,
    • adres url do projektu,
    • katalog zawierający dane web (dostępne poprzez podany url projektu) w tym przypadku podkatalog 'web' w katalogu projektu
    • punkt startowy czyli domyślny kontroler dla projektu, w tym przypadku 'frontend.php' w podkatalogu 'web'
  4. następnie wystarczyło otworzyć plik projektu (np podany wyżej kontroler) z toolbar'a wybrać 'debug project' lub wciśnąć ctrl+F5

W tym momencie w uruchomionej przeglądarce (u mnie firefox 3.x netbeans otwarł główny kontroler projektu wraz z parameterm XDEBUG_SESSION_START=netbeans-xdebug. W tym samym momencie w edytorze netbeans podświetlony został pierwszy wiersz kontrolera ... i już.

Możemy teraz ustawiać watche, breakpointy, poruszać się step out, step in, step up wybierając opcje z menu 'debug' lub używająć skrótów klawiszowych.

Dzięki krótkiemu testowi widać, że podstawowy debug działa i można sobie poużywać. Oczywiście jeżeli lubimy php5 i lubimy netbeans lub któreś z nich musimy używać ;)

Comments powered by Disqus
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/IT dx s: a C+++$ U>$ P+ L++$ !E-(+) W++$ N+ !o K--? !w !O !M !V PS PE !Y PGP !t !5 X++ R tv+ b+++ DI D G e+++(++++) h--- r y+++
------END GEEK CODE BLOCK------