Find more about China Phone Cards.

git pre-commit hook – symfony / php

git, narzędzia, php, python 11 maja 2009, 10:05

Mam jeszcze tą nieprzyjemnośc pracy z PHP (w tym przypadku z symfony framework) i aby była przyjemniejsza dodałem sobie hook na pre-commit do git’a.
* http://dl.getdropbox.com/u/185133/git/pre-commit

by zadziałało przerywanie commit’a gdy ‘symfony unit-test‘ się nie udadzą, potrzebna jest łatka na symfony (przynajmniej na moją wersję 1.0.17)
* http://dl.getdropbox.com/u/185133/git/symfony_return_code.diff

Hook zakłada, że commit jest robiony w katalogu projektu (tak mam najczęsciej) i znajduje sie w nim plik ’symfony’

btw: hook wymaga pythona.

Brak komentarzy »

lint dla php

narzędzia, php, programowanie, webdev 2 września 2008, 21:09

Za dnia piszę najczęściej w php i zazdroszczę pythonowi pylinta.

Z ciekawości zagooglałem i znalazłem rozwiązanie dla PHP sprawdzające Coding Standard:

pear install PHP_CodeSniffer
phpcs --standard=Zend SomeTest.class.php

phpcs -i podaje dostępne standardy:

  • PEAR
  • MySource
  • PHPCS
  • Squiz
  • Zend

Mi najbardzie odpowiada Zend co widać po wynikach lintowania, najczęściej 0 ostrzeżeń i błędów ;) .

phpcs pozwala także tworzyć swoje własne standardy kodowanie oraz – co bardzo mnie cieszy – podpiąć go jako precommit hook do svn’a.

Brak komentarzy »

netbeans 6.5 + php5 + symfony + xdebug

php, webdev 24 sierpnia 2008, 14:08

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ć ;)

Brak komentarzy »