SZYBKIE PISANIE PROGRAMÓW

Transkrypt

SZYBKIE PISANIE PROGRAMÓW
RAPORT
Zend Studio 4
Odkrywamy środowisko programistyczne Zend Studio 4
SZYBKIE PISANIE
PROGRAMÓW
Zend Studio, według programistów PHP, jest najbardziej
dojrzałym i funkcjonalnym środowiskiem programistycznym IDE
dla języka PHP. W najnowszej wersji usprawniono obsługę
baz danych oraz wprowadzono inne ulepszenia.
Zbadamy to środowisko i pokażemy, jak za jego pomocą można
przyspieszyć pisanie w PHP. CARSTEN MÖHRKE
W
ybór środowiska programistycznego IDE często zależy od gustu.
Wielu programistów PHP preferuje pracę w edytorach tekstowych, takich jak
Emacs czy Vim. Ci, którzy wolą zintegrowane
środowiska, mają do wyboru kilka linuksowych rozwiązań tego typu. Edytory można zastąpić środowiskami Quanta Plus (ogólnodostępny), Maguma (niedostępny kod źródłowy),
a nawet Eclipse z odpowiednimi wtyczkami.
W kręgach PHP za najbardziej dojrzałe i wydajne środowisko IDE uznaje się Zend Studio.
Zend Studio jest produktem izraelskiej
firmy Zend Software, która sama preferuje
Zend Studio Personal
Edition
W wersji Zend Studio Personal Edition nie
ma następujących funkcji:
■ profiler,
■ analizator kodu,
■ obsługa CVS,
■ inspektory,
■ obsługa FTP,
■ zdalny debugging,
■ opisy funkcji podczas pisania kodu,
■ wyszukiwanie plików,
■ drukowanie,
■ wcięcia bloków.
38
nazwę „The PHP Company”. W starszych
wersjach występowały problemy z wydajnością i stabilnością, ale ostatnia – Zend Studio
4 – to już naprawdę wydajne i stabilne środowisko deweloperskie. Oprogramowanie Zend
Studio nie jest udostępniane na zasadach
Open Source, ani nie jest bezpłatne, jednak
cena 249 USD nie jest wygórowana. Wersję
próbną można pobrać ze strony firmy Zend.
Tak pobrane oprogramowanie działa przez
21 dni, po czym zostaje sprowadzone do niekomercyjnej wersji Zend Studio Personal
Edition, której jednak brakuje tak wielu
funkcji, że raczej nie warto się nią interesować (patrz ramka „Zend Studio Personal
Edition”).
wer Zend Studio (Rysunek 1). Wybieramy
odpowiedź pozytywną, ponieważ serwer
przydaje się potem do efektywnego debuggowania programów.
Rysunek 1: Kreator prowadzi użytkownika
przez proces instalacji. Pamiętajmy, żeby zaznaczyć opcję instalacji serwera Zend Studio.
Instalacja
Po pobraniu i rozpakowaniu 47-megabajtowego archiwum możemy od razu uruchomić
program instalacyjny. Kreator prosi o podanie wymaganych informacji. Poza typowymi
pytaniami dotyczącymi katalogów, można
też określić, którą wersję języka PHP program ma obsługiwać (4 lub 5). Wersje
4 i 5 języka PHP nie są w pełni zgodne i obejmują różne zestawy poleceń, dlatego wybór
ma wpływ na sposób podświetlania i sprawdzania składni. Jednak ustawienie to można
zmienić także na późniejszym etapie. Podczas instalacji musimy odpowiedzieć na jeszcze jedno ważne pytanie: czy instalować ser-
NUMER 19 SIERPIEŃ - WRZESIEŃ 2005
WWW.LINUX-MAGAZINE.PL
Interfejs
Po zakończeniu instalacji, Zend Studio automatycznie wykrywa język systemu i uruchamia program z obsługą tego języka. Podczas
pisania artykułu środowisko obsługiwało języki angielski, francuski, niemiecki, hiszpański i rosyjski. Interfejs użytkownika (Rysunek 2) składa się z kilku paneli.
W obszarze w lewym górnym rogu widzimy
pliki, serwery i bazy danych, z których możemy bezpośrednio korzystać. Niżej dostępne są
inspektory, za pomocą których można szybko
przejrzeć pliki, klasy i metody wchodzące
Zend Studio 4
w skład bieżącego projektu. W dolnej części
ekranu znajdziemy okna komunikatów oraz
debuggingu. Pierwsze informuje o trwającej
sesji debuggingu oraz jej statusie. W drugim
wyświetlane są informacje o wartościach
je, wybierając analogicznie nazwaną pozycję
menu Tools (Narzędzia).
Wiele ustawień zależy tylko od upodobań
użytkownika. Są jednak i takie, którym warto
przyjrzeć się dokładnie, ponieważ mają
wpływ na wygodę korzystania ze środowiska
programistycznego. Na przykład, możemy
określić sposób wyświetlania tabulatora
w zakładce Editing (Edycja). Ważny może
być także Newline format (Format nowego
wiersza) – tutaj określamy, czy nowe wiersze
mają być reprezentowane przez znaki powrotu karetki i wysuwu wiersza (według standardu Windows), czy tylko wysuwu wiersza (według standardu uniksowego).
RAPORT
tej pory z poziomu środowiska programistycznego możemy korzystać z baz danych,
tabel i rekordów, do których ma dostęp dany
użytkownik bazy.
Konfiguracja serwera
Rysunek 2: Interfejs użytkownika Zend Studio.
Rysunek 3: Okno dialogowe Configure FTP
Server umożliwia zdefiniowanie połączenia
Niejednokrotnie przyjdzie nam pracować
z plikami zapisanymi na serwerze. Środowisko Zend zapewnia bezpośredni dostęp do
takich plików przez protokół FTP. Jeśli wymagamy większego bezpieczeństwa, możemy
skorzystać z protokołów SFTP lub FTP over
SSH. Z menu File (Plik) można otworzyć
okno dialogowe pozwalające na skonfigurowanie nowego połączenia z Internetem (Rysunek 3). Wymagane jest podanie standardowych informacji – nazwy hosta, nazwy użytkownika i hasła. Wyłączamy opcję Reconnect
on Startup (Połącz po uruchomieniu), bo
w przeciwnym razie program Zend Studio
będzie próbował łączyć się z serwerem przy
każdym uruchomieniu – a to może przeszkadzać, gdy lista serwerów jest długa albo serwery te są niedostępne. Zend Studio obsługuje również zasoby CVS; dostęp do tych
konfigurujemy opcją z menu narzędzi.
z serwerem FTP.
zmiennych, stosie wywołań itp. W obszarze po
prawej stronie prezentowany jest efekt działania tworzonego programu. Można tam zobaczyć, jak będzie wyglądał skrypt po uruchomieniu. Zend Studio wyświetla również nagłówki HTTP – tej przydatnej funkcji nie ma
w zwykłej przeglądarce WWW. Wreszcie,
w centrum ekranu znajduje się okno edycji.
Dobre wieści dla tych, którzy zastanawiają się,
czy wszystkie te panele zmieszczą się na ich
małych ekranach: każdy z nich można przeskalować, a te niepotrzebne – ukryć.
Ustawienia
Zanim rozpoczniemy „produkcyjne” korzystanie z oprogramowania Zend Studio, warto
dostosować niektóre ustawienia. Okno dialogowe do personalizowania systemu nosi nazwę Preferences (Preferencje) i uruchamiamy
Konfiguracja serwera
baz danych
Nową funkcją wprowadzoną w wersji 4 środowiska jest bezpośredni dostęp do baz danych. Listę skonfigurowanych serwerów
można przejrzeć po kliknięciu opcji SQL
w oknie zarządzania plikami (lewy górny
róg). Oczywiście, tuż po instalacji lista serwerów jest pusta. Aby wprowadzić nowy serwer, klikamy obszar okna prawym przyciskiem myszy i z podręcznego menu wybieramy pozycję „Dodaj serwer” (Rysunek 4).
Obecnie Zend Studio umożliwia bezpośredni dostęp do następujących serwerów
baz danych: Oracle, SQLite, Microsoft SQL
Server, PostgreSQL oraz MySQL. Po wprowadzeniu danych wymaganych do zalogowania, możemy natychmiast rozpocząć korzystanie z serwera. Otwieramy połączenie, klikając serwer prawym przyciskiem myszy. Od
WWW.LINUX-MAGAZINE.PL
Rysunek 4: Konfiguracja serwera SQL.
Rysunek 5: Dostęp do serwera MySQL.
Strukturę lub zawartość tabeli bazy danych oglądamy w tym samym oknie, w którym normalnie znajduje się edytor. Zend
Studio nie umożliwia jednak bezpośredniego
operowania na rekordach - ale przecież ten
program nie ma służyć jako fronton do baz
danych. W trybie bazy danych można jednak
wprowadzać polecenia SQL; robimy to w dolnej części interfejsu (Rysunek 5). Dzięki temu programista ma możliwość sprawdzenia
poprawności zapytania SQL przed umieszczeniem go w kodzie PHP.
Zastosowanie produkcyjne
Choć Zend Studio umożliwia edytowanie indywidualnych plików, programiści zazwyczaj operują na całych projektach. Po dodaniu nowego projektu – opcja New Project
(Nowy projekt) menu Project (Projekt) – zostaje uruchomiony kreator, który prosi
o wprowadzenie nazwy projektu, ścieżki do
katalogu projektu oraz preferencji dotyczą-
NUMER 19 SIERPIEŃ - WRZESIEŃ 2005
39
RAPORT
Zend Studio 4
cych debuggowania. Po utworzeniu projektu
widzimy go po lewej stronie, w obszarze inspektora projektów. Pliki można dodawać do
projektu za pomocą prawego przycisku myszy lub przez menu File (Plik).
Zend Studio udostępnia szereg użytecznych funkcji wspomagających kodowanie.
Oprócz podświetlania składni (którą to funkcję obsługują dziś nawet najprostsze edytory)
jest tu również bardzo użyteczny mechanizm: automatyczne uzupełnianie kodu. Kiedy piszemy kod programu, Zend Studio wyświetla listę funkcji, zmiennych lub innych
elementów, których nazwy rozpoczynają się
od wpisanych liter.
Biorąc pod uwagę liczbę funkcji PHP, bardzo użyteczna jest też funkcja wyświetlania
krótkiej informacji o wpisywanej funkcji. Po
jednoznacznym zidentyfikowaniu funkcji
wyświetlana jest lista jej parametrów.
Oprogramowanie Zend Studio dynamicznie dodaje do mechanizmu uzupełniania
funkcje, zmienne i klasy zdefiniowane przez
programistę. Uzupełnianie nie ogranicza się
do obecnie edytowanego pliku; obejmuje także inne pliki otwarte w danej chwili. (Funkcja uzupełniania kodu może powodować
pewne zamieszanie: Zend potrafi zaoferować
klasę pochodzącą z pliku, który jest otwarty,
ale nie należy do bieżącego projektu).
Ponieważ w PHP zmiennych się nie deklaruje, Zend Studio nie może wiedzieć, jaki typ
danych powinien reprezentować parametr
przekazywany funkcji. Programista może
jednak udostępnić taką informację w postaci
bloku dokumentacji (docblock) dodanego do
własnej funkcji, klasy czy metody. Aby wprowadzić taki blok dokumentacji, należy prawym przyciskiem myszy kliknąć funkcję
w oknie inspektora, a następnie wybrać pozycję Add description (Dodaj opis).
W pierwszej linijce bloku dokumentacji
powinien znaleźć się krótki opis funkcji, który pojawi się podczas uzupełniania nazwy
funkcji przez Zend Studio. W blokach dokumentacji można używać znaczników opisujących właściwości funkcji lub klas. Znaczniki
zawsze rozpoczynają się od znaku @. Znacznik musi być poprzedzony gwiazdką (*)
i spacją. Na przykład, wpis @return: określa
typ wartości zwracany przez funkcję. Znacznik @param: oznacza parametr. Każdy parametr wymaga oddzielnego wpisu; wpis zawiera nazwę zmiennych i typ danych. Kompletną listę znaczników znajdziemy pod adresem [1].
Na pierwszy rzut oka wszystko to może się
wydawać skomplikowane, ale to dobry po-
40
mysł – bloki dockblock są bardzo przydatne
przy automatycznym generowaniu dokumentacji. W menu Tools dostępne jest narzędzie PHPDocumentor, które upraszcza proces
dokumentowania projektu (Rysunek 6).
Tworzy ono dokumentację kodu źródłowego
w formacie HTML, PDF, CHM lub XML.
cją klawiszy [Ctrl]+[Alt]+[A] lub za pomocą menu narzędzia.
Debugging
Oczywiście, Zend Studio pomaga także lokalizować bardziej ukryte błędy. Narzędzie debugujące umożliwia przerwanie wykonywania kodu i sprawdzenie
bieżącej wartości najważniejszych
zmiennych.
Zend Studio obsługuje debuggowanie lokalne i zdalne. W pierwszym przypadku kod jest uruchamiany
bezpośrednio w Zend Studio, a wynik wyświetlany
w oknie po prawej stronie.
Ponieważ nie zawsze
wszystko można przetestować lokalnie, Zend Studio
potrafi także debugować
kod znajdujący się na serwerze.
Rysunek 6: PHPDocumentor pomaga w tworzeniu dokumentaAle samo uruchomienie
cji pliku z kodem źródłowym.
kodu programu i sprawdzenie wyników nie wystarcza. Dlatego Zend
Inną przydatną funkcją jest automatyczne
Studio pozwala na skonfigurowanie dowolanalizowanie składni. Już podczas pisania
nej liczby punktów kontrolnych. Dodajemy
Zend Studio sam sprawdza, czy programista
je lub usuwamy po prostu klikając numer linie popełnił błędu składniowego. Problemanijki. Po ustawieniu punktów kontrolnych,
tyczne linijki kodu podkreśla na czerwono,
wciśnięcie klawisza [F5] lub wybranie polea na prawym marginesie wstawia czerwony
cenia Run z menu debuggowania spowoduje
znaczek, co ułatwia znajdowanie błędów. Po
uruchomienie kodu. Kiedy analizator skłanajechaniu myszą na znaczek lub nieprawidniowy dotrze do takiego punktu, przerywa
dłowy kod, środowisko IDE pokazuje komudziałanie programu tuż przed daną linijką,
nikat o błędzie.
a programista może uważnie przyjrzeć się
W Zend Studio dostępne są także gotowe
statusowi aplikacji.
bloki kodu udostępnione przez programistów
Jak wspomniano, po prawej stronie ekranu
Open Source i przetestowane pod kątem
widzimy efekt działania skryptu. Pod tym
funkcjonalności. To kolejny bardzo przydatobszarem można odczytać bieżący status
ny dodatek wprowadzony w Zend Studio 4:
skryptu. Panel pokazuje wykorzystywane
dzięki niemu nie musimy ponownie wynajdozmienne, w tym typy danych i ich aktualną
wać koła. Biblioteka zawiera ponad 300 blozawartość. Podobnie prezentowane są zawarków kodu i umożliwia importowanie nowych.
tości obiektów i tablic. Domyślnie widoczne
Oczywiście, żaden programista nie jest
są tylko zmienne lokalne (tj. widoczne w biebezbłędny. Sztuka polega na tym, żeby jak
żącym kontekście). Jednak klikając symbol
najwięcej błędów wykryć samodzielnie.
+ obok słowa GLOBALS, możemy przejrzeć
I znów oprogramowanie Zend Studio okazuwartości globalnych wraz z ich zawartością.
je się niezwykle pomocne. Bardzo przydatną
Ciekawe informacje można także znaleźć
funkcją jest analizator kodu. Inne środowiw stosie wywołań; wyświetlimy go, klikając
ska IDE też mają podobne mechanizmy, ale
pozycję Stack (Stos). Stos wywołań jest miejten zastosowany w Zend jest unikalny. Analiscem, w którym analizator składniowy zarzązator znajduje niespójności, które mogą –
dza wywołaniami funkcji. Zaglądając do niechoć nie muszą – okazać się błędami. Analigo, programista widzi nazwy funkcji wywołazuje kod i wskazuje podejrzane miejsca.
nych w danym czasie przez system. Na saAnalizator wychwytuje linijki, które, choć
mym dole stosu zawsze znajduje się funkcja
syntaktycznie poprawne, są przejawami
main (), tj. nadrzędna funkcja aplikacji. Cały
złych nawyków programistycznych. Funkcję
mechanizm pozwala zbadać, jakie wartości
analizowania kodu uruchamiamy kombina-
NUMER 19 SIERPIEŃ - WRZESIEŃ 2005
WWW.LINUX-MAGAZINE.PL
Zend Studio 4
RAPORT
przybierają zmienne w poszczególnych miejscach stosu, i czy nie zostały one zastąpione
w wyniku działania innych wywołań.
Po dotarciu do punktu kontrolnego można kontynuować interpretację kodu linijka
po linijce, albo pozwolić na wykonanie programu aż do następnego punktu. Pierwsza
z tych metod przydaje się wtedy, gdy chcemy sprawdzić, jakie zmiany zachodzą w indywidualnych wartościach w miarę wykonywania kodu. Wciśnięcie przycisku [F11]
powoduje przejście do następnej linijki.
Wybierając polecenie Run (Wykonuj), każemy interpreterowi wykonywać kod do
chwili napotkania następnego punktu kontrolnego.
Zdalny debugging
Zdalny debugging jest bardziej zaawansowaną metodą wyszukiwania błędów: kod działa
bezpośrednio na serwerze, Zend Studio zdalnie steruje sesją PHP. Do działania tego mechanizmu wymagany jest serwer Zend Studio, udostępniany wraz z właściwym środowiskiem. Jeśli podczas instalowania oprogramowania Zend Studio nie zainstalowaliśmy
komponentu serwera, możemy go pobrać ze
strony www.zend.com.
Serwer nie jest aplikacją samodzielną, lecz
działa w integracji z serwerem WWW Apache. Można zastosować albo serwer Apache
dołączony do produktu, albo ten, który jest
już zainstalowany w systemie. W drugim
przypadku program instalacyjny podejmuje
próbę znalezienia ścieżek do plików konfiguracyjnych, takich jak httpd.conf oraz php.ini;
ewentualnie użytkownik sam podaje te ścieżki. Ponadto instalator musi wiedzieć, które
klienty mają mieć dostęp do serwera. Zend
Server nie powinien być wdrażany na produkcyjnych serwerach WWW, ponieważ procedura instalacji powoduje zastąpienie pliku
index.html w katalogu DocumentRoot serwera
WWW. Po restarcie Apache połączenie ze
stroną domową spowoduje wyświetlenie
w przeglądarce strony serwera Zend Studio.
Na stronie tej znajdziemy przegląd opcji
konfiguracyjnych; można tam również zmodyfikować konfigurację PHP. Program instalacyjny tworzy kopie zapasowe zmodyfikowanych plików.
Najważniejsze funkcje sterowania serwerem Zend są dostępne z poziomu środowiska Zend Studio. Debugging z udziałem
serwera włączamy w oknie opcji Preferences
| Tools | Debug. Potem warto przetestować
połączenie z serwerem (Check debug server
connection). Po udanym zakończeniu testu
Rysunek 7: Profiler Zend Studio analizuje zajętość procesora i pomaga lokalizować wąskie gardła.
można skorzystać z funkcji Debug URL
(przycisk [F8]). W nowym oknie wpisujemy
adres URL strony, którą chcemy poddać testowi. Rozpoczynamy sesję, klikając przycisk OK; otwiera się przeglądarka, za pomocą której możemy zdalnie sterować sesją.
Zend Studio pobiera kod źródłowy bezpośrednio z serwera, nie trzeba więc tworzyć
lokalnej jego kopii. W przeciwieństwie do
debuggingu lokalnego, zdalny debugger
przerywa pracę przed pierwszą linijką kodu;
nie ma więc potrzeby ustawiania punktów
kontrolnych. Ponadto funkcjonalność jest
taka, jak w przypadku debuggingu lokalnego. Co ciekawe, wynik debuggingu jest prezentowany zarówno w programie Zend Studio, jak i w przeglądarce.
W niektórych przypadkach dane wynikowe są najpierw zapisywane w buforze wyników, a nie dostarczane do przeglądarki. Aby
zawartość bufora jednak do niej dotarła,
w kodzie źródłowym umieszczamy wywołanie flush ().
Choć środowiska Eclipse, Emacs i Quanta+ są tańszymi alternatywami programowania w PHP pod Linuksem, żadna z tych
aplikacji nie udostępnia debuggera. Ponadto Zend udostępnia znacznie lepiej dopracowaną pomoc kontekstową. Programiści
zajmujący się większymi projektami mogą
narzekać na brak systemu kontroli wersji,
a klient CVS jest wciąż daleki od doskonałości; jednak Zend Studio w wydaniu
czwartym nadrabia to innymi przydatnymi
funkcjami.
Po przeanalizowaniu wszystkich za i przeciw, wniosek nasuwa się sam: oprogramowanie Zend Studio jest warte swojej ceny. ■
INFO
[1] Podręcznik modułu PHPDocumentor:
http://www.phpdoc.org
[2] Zend: http://www.zend.com
Szybkość
Zapewne nie są nam obce przypadki powolnego działania nowych aplikacji internetowych. Często trudno jest zlokalizować wąskie
gardło odpowiedzialne za powolną pracę.
W oprogramowaniu Zend Studio dostępny
jest mechanizm profilera (menu Tools). Profiler analizuje program działający na serwerze i pokazuje, jak dużo czasu pracy procesora zajęło przetwarzanie pliku lub funkcji
(Rysunek 7).
WWW.LINUX-MAGAZINE.PL
Podsumowanie
AUTOR
Carsten Möhrke jest konsultantem i szkoleniowcem pracującym na własną rękę. Napisał książkę o programowaniu w PHP
i pełni funkcję dyrektora firmy netviser.
Z Carstenem można skontaktować się, pisząc na adres [email protected].
NUMER 19 SIERPIEŃ - WRZESIEŃ 2005
41

Podobne dokumenty