Niezbędnik: narzędzia dla PHP
Postanowiłem zebrać w jednym miejscu narzędzia dla PHP, z których korzystam przy każdym projekcie lub czasami się nimi wspomagam.
Na początku wspomnę, że każdy projekt posiada własne repozytorium w Subversion lub GIT. Jest to nieodłączny element każdego projektu, nawet jeśli pracuję nad nim sam. W każdym momencie możemy stworzyć odgałęzienie (branch) lub cofnąć zmiany.
A teraz konkretne narzędzia dla PHP.
PHPUnit
Mam nadzieję, że nie trzeba tej biblioteki komentować. PHPUnit jest to pakiet do unit testów dla projektów PHP. Przy jego pomocy w bardzo prosty sposób możemy testować poprawność działania poszczególnych rozwiązań.
phpDocumentor
Służy do tworzenie automatycznej dokumentacji projektu. Na podstawie odpowiednio komentowanych klas, metod czy funkcji generuje gotową dokumentację dla programistów.
PHP Code Sniffer
Zaawansowane narzędzie do wykrywania w kodzie PHP, JS, CSS naruszeń określonych standardów kodowania. Dzięki phpcs mamy dodatkową pewność, że nikt nie robi rażących byków w kodzie.
phpUnderControl
Jest to aplikacja WWW odpowiedzialna za Continuous Integration (CI). Podczas każdej zmiany w repozytorium phpUnderControl sprawdza m.in. pod kątem unit testów czy przypadkiem, ktoś nie popsuł aplikacji swoimi zmianami. Dodatkowo posiada integrację z phpcs i phpDocumentor.
Jest to dodatkowa aplikacja do kombajnu CruiseControl, który jest stworzony w Javie.
Dodatkowo polecam kilka mniejszych narzędzi, które mogą okazać się przydatne podczas refaktoryzacji kodu i nie tylko:
Copy/Paste Detector
phpcpd zainstalujemy za pomocą PEAR z kanału PHPUnit. Jak sama nazwa wskazuje aplikacja służy do odnalezienia skopiowanych fragmentów w kodzie projektu. Sposób użycia jest banalny:
phpcpd /my_project/trunk
Dead Code Detector
phpdcd zainstalujemy za pomocą PEAR z kanału PHPUnit. Narzędzie szczególnie przydatne w przypadku, gdy podczas trwania projektu specyfikacja ulega zmianie. Niepostrzeżenie może się okazać, że wiele metod, lub nawet klas nie jest przez nas używanych. W wykryciu takich właśnie miejsc pomoże nam phpdcd.
PHP Mess Detector
PHPMD jest swego rodzaju kombajnem, który ma nam służyć pomocą w celu znalezienia: możliwych błędów, niedokończonego kodu, skomplikowanych wyrażeń oraz niewykorzystywanych parametrów, metod i właściwości w naszym projekcie.
Mam nadzieję, że podana lista pomoże Wam w skupianiu się na rozwiązaniach, a nie marnowaniu czasu na szukaniu błędów.
Część kolejna: edytor dla PHP









jaras
16 kwi, 2010
Przyzwoity niezbędnik
Chyba uaktualnie swój, o niektóre elementy z Twojego
A raczej na pewno …
Sun Pietro
16 kwi, 2010
Bardzo ciekawy artykuł. Na pewno mi się przyda.
Może znasz jakiś edytor PHP z kolorowaniem składni i zawijaniem wierszy?
matipl
16 kwi, 2010
@Sun Pietro: a wiesz, że o tym pomyślałem po publikacji?
Na szybko podpowiem: NetBeans, a do poniedziałku opublikuję kolejną wersję niezbędnika
Sun Pietro
17 kwi, 2010
ok, to czekam
matipl
21 kwi, 2010
@Sun Pietro: nie wiem czy pingback do Ciebie dotarł. Jakby co informuję, że w poniedziałek wpis się pojawił o edytora dla PHP
T
16 paź, 2010
Ja do tej pory korzystalem z Eclipse RSE i edytowalem pliki teoretycznie bezposrednio na serwerze. Chciałbym przejść na svn (takze netbeans), dlatego napisz proszę jak z niego korzystasz tj. robisz na localhoscie a potem przerzucasz do svna, a potem na produkcję?
matipl
16 paź, 2010
@T: W najprostszym przypadku zaciągasz repozytorium na lokalną maszynę, dodajesz jako projekt w Netbeans.
Modyfikujesz, testujesz lokalnie. A następnie commit, do którego po stronie serwera w post-commit możesz podpiąć sync na developerkę.