netbeans 6.5 + php5 + symfony + xdebug

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
  1. 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’
  1. 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ć ;)