PHP profesjonalnie programowanie obiektowe i narzędzia programisty 08 2006

background image

87

INTERNET.sierpień.2006

www.mi.com.pl

†

†

Bartłomiej Dymecki: Wiem,

że od wielu lat zajmuje się Pan

programowaniem w PHP. Z racji

sporego doświadczenia na pewno

wie Pan, jakie narzędzia są najbar-

dziej przydatne programiście PHP?

Patryk Zawadzki: Przede wszystkim

dobry edytor. Kolorowanie składni to

standard od lat, ale nie jest to jedyna

potrzeba. Rzadko kiedy zdarza się

pracować na kopii lokalnej serwisu,

a na ogół w projekcie uczestniczy od

kilku do kilkunastu osób i nieodzowne

staje się uaktualnianie plików na ser-

werze. Tutaj z pomocą przychodzą

programy, które umożliwiają otwiera-

nie i zapisywanie plików bezpośrednio

za pośrednictwem połączenia FTP,

SSH, bądź potrafią korzystać z repo-

zytoriów kodu, jak Subversion czy

CVS. Kiedy pracowałem pod Win-

dows, używałem do tego świetnego,

moim zdaniem, jEdita, przez jakiś czas

miałem też okazję pracować w Zend

Studio i Dreamweaverze. Dreamwea-

ver jest zdecydowanie najwygodniej-

szy, jeśli oprócz programowania musi

się nanosić poprawki na szablony. Za-

równo on, jak i produkty Zenda mają

jednak wadę – wysoką, jak na polskie

realia, cenę. Zend Studio ma także

bardzo nieintuicyjny interfejs i dostęp

do wszystkich funkcji programu wy-

maga od użytkownika zakładania pro-

jektu dla każdego serwisu, w którym

wprowadza zmiany. Być może jest to

praktyczne w środowiskach „enter-

prise”, ale w sytuacji, gdy pracuje się

dla typowej agencji interaktywnej

i jednocześnie zdarza się wprowadzać

poprawki w kilkunastu projektach,

ciągłe przełączanie projektów staje

się uciążliwe.

Jak wspomniałem, nie korzystam

obecnie z systemu Windows. Od kilku

lat jestem wiernym użytkownikiem Li-

nuksa i środowiska GNOME, gdzie

– podobnie jak w siostrzanym KDE

– integracja zasobów sieciowych jest

dla użytkownika przeźroczysta. Dlate-

go też do pracy wystarcza mi narzę-

dzie niewiele bardziej skomplikowane-

go niż notatnik. Gedit – edytor tekstu

GNOME – ma zintegrowaną obsługę

podświetlania składni dla wielu forma-

tów i pozwala otwierać pliki przez

zwykłe przeciągnięcie ikony pliku z fol-

deru FTP/SFTP do okna edytora. Ma

też rozbudowany system wtyczek,

a jedno z rozszerzeń dostarczanych

z programem dodaje niesamowicie po-

mocny system snippetów – szablo-

nów wstawianych za pomocą zdefinio-

wanego makra i uzupełnianych „w lo-

cie” za pomocą klawisza tabulacji.

Przed Geditem byłem wiernym użyt-

kownikiem Quanty z pakietu KDE. Jej

przewagą był system uzupełniania

nazw zmiennych i funkcji w ramach

otwartego aktualnie dokumentu, jed-

nak program ten ma duży narzut pa-

mięci w stosunku do wielkości pliku

i praca z plikami złożonymi z dziesiątek

tysięcy linii stawała się niemal niemoż-

liwa – zdarzały się sytuacje, w których

musiałem czekać kilkadziesiąt sekund

(!) na pojawienie się wpisanego właś-

nie tekstu.

Jeśli chodzi o komputery Apple,

obowiązkową pozycją jest genialny

program TextMate. Za niewielką

opłatą dostajemy do ręki najwygod-

niejszy ze znanych mi edytorów.

Do pracy pod systemem Windows

przydatny może być również program

Netdrive (

HTTP

://

WWW

.

TNIJ

.

ORG

/

NETDRI

-

VE

), który pozwala zamontować zasób

FTP jako zwykły napęd.

†

†

BD: Wspomniał Pan o syste-

mach kontroli wersji. Czy mógłby

Pan nieco rozszerzyć ten temat?

PZ: Praca przy większych projektach

staje się dużo wygodniejsza, kiedy do

pomocy zaprzęgnie się systemy auto-

matycznego śledzenia zmian w pli-

kach. Najpopularniejsze z nich to CVS

i jego młodszy, nieco bogatszy w funk-

cje brat Subversion. Oba narzędzia

nie tylko umożliwiają sprawdzanie his-

torii zmian w każdym z plików, ale

także odtworzenie jego stanu, jeśli

zajdzie taka potrzeba, z dowolnego

punktu w czasie. W przypadku pracy

z tymi repozytoriami użytkownicy

Windows z pewnością docenią rewe-

lacyjne narzędzia TortoiseCVS oraz

TortoiseSVN. Oba oferują integrację

z powłoką systemu, przez co lista pli-

ków w Eksploratorze Windows czy

Directory Opus (

HTTP

://

WWW

.

GPSOFT

.

COM

.

AU

) zostaje automatycznie wzbo-

gacona o emblematy obrazujące stan

każdego pliku. Użytkownicy Linuksa

bez problemu zadowolą się konsolo-

wymi klientami obu systemów, więk-

szość edytorów pozwala wygodnie

podłączyć je pod wybrane skróty kla-

wiszowe i korzystać z nich bezpo-

średnio z poziomu aplikacji.

†

†

BD: Piąta wersja języka PHP

przyniosła znacznie bardziej roz-

budowane możliwości programo-

wania obiektowego. Czy są one

naprawdę przydatne dla osób za-

wodowo zajmujących się PHP?

PZ: Co prawda PHP daleko jeszcze do

„prawdziwych” środowisk obiekto-

wych, ale zmiany między wersją 4 i 5

można określić mianem rewolucyj-

nych. Przede wszystkim poprawiono

domyślne zachowanie operatorów

przypisania w połączeniu z operato-

rem

new

– nie zdarzają się już sytu-

acje, w których kopiowany był cały

obiekt zamiast referencji, co w PHP4

popularnie obchodzono przez kon-

strukcję

$zmienna = & new Klasa()

.

Ujednolicono także nazewnictwo

konstruktorów przez wprowadzenie

metody

_construct

, co pozwala łat-

wo wyłapać je w kodzie i wygodnie

dziedziczyć przez wywołanie

parent::

_construct

, bez zastanawiania się na

jakim poziomie został zdefiniowany

konstruktor nadrzędny. Nie sposób

zapomnieć także o pojawieniu się

destruktorów, których brak w PHP4

starano się wypełnić dziwacznymi

łańcuchami funkcji podłączanych pod

sygnał zakończenia skryptu.

Programiści żyjący z budowania

modułów dla innych firm programis-

tycznych z pewnością ucieszyli się

z implementacji widoczności obiek-

tów, podczas gdy w PHP4 wszystkie

zmienne i metody były zawsze pub-

liczne, co ze względu na bezpieczeń-

stwo kodu i integralność danych

rzadko jest pożądane, a dodatkowo

przyzwyczaja do niechlujności i bez-

pośredniej modyfikacji właściwości

innych obiektów z pominięciem odpo-

wiednich funkcji. Samo pisanie funkcji

pobierających i zmieniających właści-

wości obiektu również stało się bar-

dziej proste, gdyż teraz możliwe jest

zdefiniowanie metod

_get

i

_set

,

które pozwalają na odwoływanie się

do własności obiektu, tak jakby były

one publicznymi zmiennymi. Z pozo-

stałych zmian warto wspomnieć

o specjalnym drzewie klas implemen-

tujących iteratory. Dostępnych jest

wiele gotowych rodzajów iteracji,

w tym trawersacja po folderach dys-

kowych, ale nic nie stoi na przeszko-

dzie, by zaimplementować własne.

Ogromnym krokiem naprzód było

także dodanie w PHP5.1 długo oczeki-

wanego interfejsu PHP Data Objects.

W końcu możliwy jest przenośny, uni-

wersalny i – co najważniejsze – obiek-

towy dostęp do baz danych. PDO idzie

jednak o krok dalej i pozwala na trak-

towanie wszystkich systemów bazo-

danowych na równi. Wszystko jedno,

czy produkt podłączony jest do bazy

PostgreSQL czy SQLite.

n

PHP profesjonalnie:

programowanie obiektowe

i narzêdzia programisty

W tym miesiącu przedstawiamy wywiad z Patrykiem Zawadzkim,

który w sieci znany jest pod pseudonimem Patrys i pracuje jako

webdeveloper dla firmy Internet Center Polska.

WYWIAD

Patryk Zawadzki komputerami

pasjonuje się od dziecka,

a obecnie w firmie Internet Cen-

ter Polska zajmuje się m.in. sys-

temem CMS wego.pl. Jest rów-

nież współautorem opisywanej

kilka miesięcy temu witryny

http://www.10przykazan.com,

a pod adresem http://www.ro-

om-303.com/blog prowadzi

blog poświęcony szeroko poję-

tym standardom sieciowym.

W

EB

M

AS

TE

RIN

G

Â


Wyszukiwarka

Podobne podstrony:
Professional Linux Programming, R-08-t, Szablon dla tlumaczy
PHP Zaawansowane programowanie Vademecum profesjonalisty
PHP Zaawansowane programowanie Vademecum profesjonalisty phpzpv
PHP Zaawansowane programowanie Vademecum profesjonalisty
PHP Zaawansowane programowanie Vademecum profesjonalisty phpzpv
PHP Zaawansowane programowanie Vademecum profesjonalisty phpzpv
PHP Zaawansowane programowanie Vademecum profesjonalisty 2
PHP Zaawansowane programowanie Vademecum profesjonalisty phpzpv
PHP Zaawansowane programowanie Vademecum profesjonalisty
PHP Zaawansowane programowanie Vademecum profesjonalisty phpzpv
2006 03 Izokinetyka jako obiektywne narzędzie pomiaru i treningu
PHP Bezpieczne programowanie phpbep
Modelowanie podstawowych elementów programie SolidWorks 2006
Gl lesne I rok stac program 08-09, LEŚNICTWO SGGW, MATERIAŁY LEŚNICTWO SGGW, Gleboznawstwo, Sem. 1
ANSI ISO C++ Professional Programmer's Handbook FDRB5YOUKKKT5ZOHUIEY3BGDGFDRSREUCXGIOOI
Profesjonalne programowanie Czę¶ć 1 Zrozumieć komputer
Profesjonalne programowanie Czesc 2 Mysl niskopoziomowo pisz wysokopoziomowo propr2
PHP Bezpieczne programowanie phpbep

więcej podobnych podstron