Wprowadzenie do PHP

Adam Boduch

W dniu, w którym piszę te słowa trwają ostatnie przymiarki do wydania ostatecznej wersji języka programowania zwanego PHP. Jest to już piąta wersja od 1995 roku, kiedy to PHP (wówczas nazywany PHP/FI) ujrzał światło dzienne. Podczas czytania tego artykułu przekonasz się że PHP to świetne narzędzie do tworzenia dynamicznych stron WWW ? równie proste do nauczenia się jak i potężne jeżeli chodzi o jego możliwości. Jeżeli o mnie chodzi, PHP jest moim ulubionym językiem, używam go niemal każdego dnia i mam nadzieje, że Ciebie również do niego przekonam.

1 Czym jest programowanie?
2 PHP
3 Parę słów o internecie
     3.1 Na początku był ARPANET
     3.2 IP
     3.3 TCP
     3.4 Porty
     3.5 HTTP
     3.6 HTTPS
     3.7 FTP
     3.8 SMTP
     3.9 WWW
     3.10 Statyczne strony WWW
     3.11 Dynamiczne strony WWW
4 Czym jest PHP?
     4.12 Do czego służy PHP?
     4.13 Czego potrzebuje by programować w PHP?
          4.13.1 PHPEdit
5 Historia PHP
6 PHP i konkurenci
     6.14 CGI
     6.15 ASP
     6.16 ASP.NET
     6.17 Porównanie prędkości

Nie stresuj się! Programowanie w PHP jest naprawdę łatwe! Czasy, w których programiści stanowili niewielką grupę fachowców, minęły bezpowrotnie. Programowanie nie opiera się już na operowaniu samym kodem binarnym, przez co zwykły zjadacz chleba może pokusić się o napisanie własnej aplikacji czy dynamicznej strony WWW.

Jeżeli czytasz ten dokument to pewnie słyszałeś o PHP jako o języku do prostego tworzenia dynamicznych stron WWW. Być może musisz szybko przygotować forum dyskusyjne, sklep internetowy lub księgę gości. Tak czy inaczej poprowadzę Cię drogi Czytelniku od samych podstaw języka aż po bardziej zaawansowane tworzenie stron WWW, z wykorzystaniem baz danych.

Czym jest programowanie?

Pewnym jest, że spotkałeś się z tym określeniem niejednokrotnie, czy to w telewizji, czy w prasie, czy w życiu codziennym, lecz być może nie masz w ogóle pojęcia, co ono to tak naprawdę oznacza. Przeciętny człowiek może mieć nieco mylne wyobrażenie programisty jako człowieka w grubych okularach, który całe dnie, obłożony fachową literaturą, spędza przed komputerem. Na pewno zdarzają się i tacy zapaleńcy, dlatego bo? programowanie jest ciekawe! Tak, jest ciekawe, ale trzeba mieć do tego predyspozycje. Jeżeli zabierasz się za programowanie z przymusu, to pewnie nie będzie ono dla Ciebie przyjemnością, lecz jeśli napisany przez Ciebie program (choćby nie wiem, jak byłby skromny) przyniesie Ci poczucie satysfakcji i dumy ? możesz być pewny, że programowanie wciągnie Cię jeszcze bardziej. Pamiętam ile frajdy przynosiło mi pisanie prostych aplikacji w Turbo Pascalu. Chociaż były to aplikacje kompletnie bezużyteczne pragnąłem podzielić się nimi z całym światem. Być może należysz do grupy ludzi, którzy wcześniej mieli już doświadczenie z innymi językami programowania. W takim przypadku nauka PHP przebiegnie łatwo i bezboleśnie.

Programowanie, ogólnie mówiąc, polega na rozwiązywaniu pewnych problemów. Weźmy jako przykład liczydło. Liczydło służy do wspomagania człowieka w poważniejszych obliczeniach matematycznych. Celem programisty jest napisanie programu, który wspomoże człowieka przy naprawdę trudnych obliczeniach.
Programista, chcąc zrealizować zadanie, musi zapisać pewien algorytm, korzystając z ciągu instrukcji rozpoznawalnych przez komputer. Wszelkie polecenia w danym języku programowania są oczywiście wklepywane przy użyciu klawiatury.

Algorytm to zestaw instrukcji, czynności, które należy wykonać, aby zrealizować pewne zadanie.

Obecnie istnieje wiele narzędzi, które wspomagają programistę podczas tworzenia aplikacji. Jak to wygląda w środowisku Windows? Mamy edytor tekstu ? typowy edytor dla Windows z oknami, menu oraz ikonami. W owym edytorze wpisujemy jakieś polecenia ? dajmy na to ? w języku C. Oczywiście nie mogą to być byle jakie polecenia, lecz takie, które będą zrozumiałe dla kompilatora.

Kompilator to program, który analizuje kod źródłowy, sprawdza, czy nie zawiera on błędów, oraz ewentualnie tworzy na jego podstawie aplikację wykonywalną.

Tak więc wszystko polega na wpisaniu odpowiednich poleceń w dowolnym edytorze tekstu, a następnie zapisaniu owego pliku jako zwykły plik tekstowy. Powiedzmy, że mamy program, który wygląda tak jak ten poniżej:

#include <stdio.h>

int main(int argc, char *argv[])
{
  printf("Hello World\n");

  return 0;
}

Jest to prosty program napisany w języku C, który wyświetla napis Hello World, a następnie kończy swe działanie. Powyższy fragment należy wpisać w dowolnym edytorze tekstu i zapisać jako plik na dysku ? np. pod nazwą hello.c. W tym momencie mamy już plik z kodem źródłowym programu napisanego w języku C.

Kod źródłowy to zwykły plik tekstowy zawierający polecenia języka, które są interpretowane przez kompilator.

PHP

Obecnie PHP jest jednym z najpopularniejszych języków programowania na świecie. Jest on rozwijany na zasadach licencji Open Source, więc każdy może mieć wgląd w jego kod źródłowy. Należy zaznaczyć, że PHP jest językiem skryptowym, więc aplikacje w nim napisane nie są kompilowane do postaci binarnej, lecz interpretowane przy każdym uruchomieniu.

Programy napisane w języku PHP nazywane są skryptami ponieważ nie podlegają procesowi kompilacji.

PHP służy przede wszystkim do tworzenia dynamicznych stron WWW, czyli np. sklepów internetowych, systemów rejestracji użytkowników, statystyk itp. Zwyczajne, statyczne strony WWW to zwykłe pliki tekstowe (najczęściej z rozszerzeniem *.htm lub *.html) zawierające instrukcje zapisane w języku HTML (ang. Hyper-Text Markup Language). Przeglądarka łącząc się z serwerem, pobiera zawartość takiego pliku, a następnie odpowiednio go interpretuje. W ten sposób na ekranie swoich komputerów możemy zobaczyć wszelkiego rodzaju interaktywne elementy, odnośniki, animacje, obrazki itp.

Parę słów o internecie

Być może informacje, które tutaj przedstawię wydadzą się niektórym banalne, niepotrzebne, lecz chciałbym wyjaśnić parę pojęć związanych z funkcjonowaniem sieci internet. Jak to się dzieje, że wystukując adres w przeglądarce, po paru chwilach możemy oglądać piękne strony, uczestniczyć w dyskusjach na forach dyskusyjnych czy otrzymywać cotygodniowy biuletyn na temat rynku browarnictwa?

Na początku był ARPANET

ARPANET (ang. Advanced Research Project Agency Network) jest przodkiem internetu takiego, jaki znamy dzisiaj. Była to pierwsza siec oparta na protokole TCP/IP.

Wszystko zaczęło się od ZSRR i od wysłania w kosmos Sputnika w 1957 roku. Wtedy to w USA, Pentagon powołał specjalną rządową komisję ARPA, której celem była obserwacja i wspieranie inicjatyw powstających na uczelniach USA, które miały znaczenie dla obronności kraju. 10 lat później na konferencji naukowej ARPA zaczęto zastanawiać się czy jest możliwość stworzenia sieci łączności pomiędzy komputerami, które nie posiadałyby centrali. Ogólnie chodziło o możliwość porozumiewania się w przypadku ataku, zniszczenia centrali oraz większości infrastruktury. Okazało się to możliwe. Kilkudziesięcioosobowy zespół pod wodzą Alex'a McKenize'a rozpoczął pracę nad protokołem TCP. Wkrótce odbywała się próba połączeniu kilkunastu komputerów. W 1972 ARPA zdecydowała się na odtajnienie protokołu TCP/IP i do projektu mogły przyłączyć się kolejne uniwersytety USA.

Oficjalne powstanie internetu nastąpiło w 1980 roku, kiedy to crackerzy skutecznie zaatakowali serwery ARPANET. Wtedy to zdecydowano się na odłączenie części wojskowej oraz akademickiej. Część wojskowa ARPANET nadal funkcjonuje (aczkolwiek niewiele o niej wiadomo), a część cywilna została nazwana internetem.

IP

Z pojęciem adres IP zetknąłeś się pewnie już nieraz. Jest to skrót od angielskiego określenia Internet Protocol. Najprościej mówiąc, adres IP jest to adres komputera w sieci. Internet to ?pajęczyna?, w którą połączonych jest wiele komputerów. IP jest 32-bitową liczbą informującą, do jakiej sieci włączony jest dany komputer. Liczba ta zapisywana jest w postaci czterech grup cyfr oddzielonych od siebie kropką. Przykładowy adres IP wygląda np. tak: 223.125.100.155. Adresy IP podzielone są na klasy ? patrz tabela 1.

Tabela 1. Klasy IP

Klasa	Najmniejszy adres	Największy adres
A	0.1.0.0	                126.0.0.0
B	128.0.0.0	                191.255.0.0
C	192.0.1.0	                223.255.255.0
D	224.0.0.0	                239.255.255.255
E	240.0.0.0	                247.255.255.255

Tabela 1 nie zawiera jednak m.in. adresów IP z przedziału od 127.0.0.0 do 127.255.255.255. Powód jest prosty ? są to adresy lokalne, które nie istnieją w internecie.

W celu zapewnienia zgodności adresy są przydzielane przez jedną organizację o nazwie Internet Network Information Center. Organizacja ta przydziela adresy wielkim sieciom, które z kolei rozdzielają przyznane adresy między swoich użytkowników.

Ilość komputerów w sieci stale rośnie. Aby każdemu z nich zagwarantować stały, niepowtarzalny numer, trzeba było rozbudować protokół IP ? nowa jego wersja nosi nazwę IPv6. Wykorzystywane w niej są liczby 128-bitowe, a nie jak dotychczas ? 32-bitowe.

TCP

Protokół TCP (ang. Transmission Control Protocol) jest drugą co do ważności usługą w sieci (po IP). Polega ona na przesyłaniu danych (pakietów) pomiędzy dwoma komputerami. Połączenie z nimi odbywa się poprzez podanie adresu IP. Wtedy jeden z komputerów na podstawie adresu IP oraz portu (o portach czytaj dalej) łączy się z drugim komputerem. Protokół TCP jest często nazywany niezawodną usługą przesyłania danych, dlatego że po wysłaniu pakietu komputer czeka na otrzymanie potwierdzenia, tzw. ACK (patrz rysunek 1).

php1.1.pcx Rysunek 1. Zasada wysyłania pakietów TCP/IP

Jeżeli komputer nie otrzyma potwierdzenia ACK, czeka określony czas, po czym uznaje, iż pakiet nie dotarł, i wysyła go po raz kolejny.
Na TCP opiera się wiele innych protokołów ? np. FTP czy SMTP. Także sieci lokalne LAN korzystają z tego protokołu.

Porty

Komputer, który próbuje się połączyć z innym komputerem, to klient. Natomiast komputer po drugiej stronie, który oczekuje na przyłączenie klienta, nazywany jest serwerem. Jednak na jednym komputerze może być uruchomionych wiele aplikacji ? skąd mamy wiedzieć, z którą klient chce się połączyć? Służą do tego porty stanowiące swoiste ?furtki?. Port to liczba z zakresu od 1 do 65 000; gdy chcemy się połączyć z innym komputerem, wraz z adresem IP musimy podać numer portu. Tak więc, aby doszło do połączenia, port aplikacji klienta oraz aplikacji serwera muszą być takie same.

HTTP

Niezwykle popularny protokół HTTP (Hyper-Text Transfer Protocol) służy do transmisji stron internetowych WWW z serwera do przeglądarki. Na podstawie wpisanego w przeglądarce adresu następuje lokalizacja adresu IP serwera (adres IP jest ustalany na podstawie domeny) ? stamtąd przesyłane są informacje do przeglądarki użytkownika. Możliwe jest zwrócenie przez serwer komunikatu o błędzie ? np. błąd o numerze 404 to brak strony, którą próbujemy załadować. W tabeli 2 przedstawiłem najczęstsze numery błędów.

Tabela 2. Numery błędów HTTP

Numer błędu	Opis
200	                OK
206	                Częściowa zawartość
301	                Przeniesiono na stałe
302	                Przeniesiono tymczasowo
304	                Niezmodyfikowany
400	                Błędne żądanie
403	                Zakazane (brak dostępu)
404	                Brak strony
405	                Metoda nieuznawania 
412	                Warunki niespełnione
500	                Błąd serwera

HTTPS

Protokół HTTP może nie zapewniać wystarczającego poziomu bezpieczeństwa dla szczególnie ważnych operacji internetowych ? np. zakupów, operowania pieniędzmi w bankach itp. HTTPS jest rozbudowaną wersją protokołu HTTP umożliwiającą szyfrowanie danych przepływających z komputera klienta do serwera WWW i odwrotnie. Takie szyfrowanie nosi nazwę SSL (Secure Socket Layer). To, czy strona jest szyfrowana czy też nie, określa adres internetowy ? adresy stron wykorzystujących SSL zaczynają się od https://.

FTP

FTP to skrót od angielskiego słowa File Transfer Protocol. Jest to niezwykle stary protokół, obecny praktycznie od początku istnienia internetu. Polega on na połączeniu dwóch komputerów na zasadzie klient-serwer. Połączenie zazwyczaj odbywa się poprzez port 21 (popularne usługi, np. FTP, zawsze wykorzystują taki sam port, aby wystarczyło znać tylko sam adres). Tak więc klient łączy się z danym komputerem w wyniku podania jego adresu IP. Po połączeniu może odbywać się dwustronna komunikacja na zasadzie przesyłania plików.

SMTP

Jeżeli korzystasz z internetu, to pewnie niejeden raz słyszałeś o tym protokole. Służy on do wysyłania listów elektronicznych. Komunikacja odbywa się na zasadzie klient-serwer ? klient łączy się z określonym adresem IP przez określony port (zazwyczaj 25.). Wysyła do serwera polecenie MAIL, po czym, gdy otrzyma odpowiedź, następuje transmisja listu do serwera (najpierw nagłówka, a potem treści wiadomości). Niektóre serwery wymagają tzw. autoryzacji. Zabezpieczają się w ten sposób przed wysyłaniem spamu. Przy zakładaniu konta pocztowego ? niezależnie od tego, w którym serwerze ? musimy podać nazwę użytkownika (login) oraz hasło. Podczas konfiguracji programu pocztowego należy wpisać w odpowiednie pola obie te wartości. Podczas połączenia dane te przesyłane są do serwera; serwer sprawdza, czy są prawdziwe (tj. czy taka skrzynka e-mail jest rzeczywiście założona w tym serwerze) i, jeżeli wszystko się powiedzie, odbywa się transmisja.

WWW

WWW (ang. World Wide Web) jest systemem informacyjnym, którego celem jest publikowanie informacji. Aby uzyskać dostęp do tych informacji, potrzebny jest program komputerowy zwany przeglądarką internetową. Ta z kolei komunikuje się z serwerem, który transferuje do niej żądaną stronę WWW. Organizacja, która zajmuje się ustalaniem standardów pisania i przesyłu danych poprzez WWW nosi nazwę W3C (ang. World Wide Web Consortium).

Twórcą WWW i pierwszej przeglądarki jest Tim Berners-Lee.

Statyczne strony WWW

Przyznasz, że dziedzina jaką jest informatyka, zawiera bardzo wiele akronimów oznaczających technologie, protokoły itp. Z początku więc ciężko się domyśleć o co w tym wszystkim chodzi. Podsumujmy: język HTML to język znaczników, w którym zapisane są strony WWW. Strony WWW natomiast, są przesyłane za pośrednictwem protokołu HTTP, który z kolei korzysta z protokołu TCP/IP.

Pomimo, iż sieć WWW dostarcza potężnego mechanizmu wymiany informacji nie zapewnia żadnej integracji z użytkownikiem danej strony. Treść strony WWW zawsze pozostaje taka sama. Nie jest więc możliwe stworzenie systemu ankiet, licznika odwiedzin strony nie mówiąc już o bardziej skomplikowanych mechanizmach. Uaktualnienie treści strony WWW wiąże się z podmianą plików HTML na serwerze. Rozwiązaniem jest technologia o nazwie CGI...

Dynamiczne strony WWW

CGI to skrót od słów Common Gateway Interface. Jest to sposób na komunikacje serwera z innymi aplikacjami. CGI umożliwia pobieranie danych od przeglądarki jak i przekazywanie danych przeznaczonych dla niej. Dzięki temu istnieje możliwość pisania tzw. skryptów CGI, które w sposób dynamiczny generują stronę WWW. Np. dzięki CGI możemy na stronie WWW wyświetlać aktualny czas i datę.

Terminy skrypt CGI oraz program CGI mogą być używane zamiennie.
Skrypty CGI, mogą i najczęściej są pisanie w języku Perl.

Perl (ang. Practical Extraction and Report Language) jest językiem programowania autorstwa Larrego Walla bardzo często wykorzystywanym jako język skryptowy. W zamyśle autora język Perl miał pomóc w rozwiązywaniu trudnych zadań oraz przyspieszać pracę nad programem.

Perl nie jest kompilowanym językiem programowania. Oznacza to, że nie następuje jego kompilacja, czyli przekształcanie do postaci pliku wykonywalnego. Zamiast tego w komputerze musi być zainstalowany tzw. interpreter, który będzie odczytywał instrukcje języka i odpowiednio na nie reagował.

Naturalnym środowiskiem Perla jest system UNIX, aczkolwiek Perl jest także dostępny w wersjach na inne platformy; bardzo często wykorzystywany jest podczas tworzenia skryptów CGI na strony WWW. Obecnie Perl jest wypierany przez młodszy i prostszy język PHP, aczkolwiek świetnie się nadaje się do pisania programów manipulujących plikami tekstowymi.

Czym jest PHP?

Perl nie jest językiem, który miał być docelowo przeznaczony do pisania skryptów. Pogramy napisane w Perlu mogą stanowić oddzielne aplikacje wykonujące jakieś obliczenia, czy manipulacje na danych. PHP jest językiem, który docelowo miał być wykorzystywany do tworzenia dynamicznych stron WWW (aczkolwiek nie jest to jedyne przeznaczenie PHP).

Na listingu 1. prezentuje bardzo prosty, przykładowy skrypt PHP. Ma on na celu wyświetlenie aktualnej daty (rysunek 2.).

Listing 1.1. Skrypt PHP wyświetlający aktualną datę

<html>
<head>
<title>Skrypt PHP</title>
</head>
<body>
<p>Aktualna data: <?php echo date('d-m-Y h:i'); ?></p>
</body>
</html>

php1.2.jpg
Rysunek 2. Rezultat działania skryptu

Skrypty PHP (albo, jak kto woli ? programy PHP) najczęściej posiadają rozszerzenie *.php i umożliwiają zagnieżdżanie instrukcji języka w kodzie HTML. Należy zrozumieć, że jest to zwykły plik tekstowy.

Aby móc pisać skrypty PHP musisz zainstalować na swoim komputerze serwer HTTP oraz PHP. PHP nie jest językiem kompilowanym. Skrypty nie są przekształcane do postaci kodu binarnego a jedynie interpretowane. Najprościej rzecz ujmując: gdy chcemy w przeglądarce wczytać jakiś skrypt PHP (np. http://programowanie.org/stats.php) serwer oddaje sterowanie do interpretera. Ten wykonuje instrukcje języka PHP i zwraca wynik. Ten z kolei wędruje do przeglądarki w postaci tekstu lub kodu HTML.

Do czego służy PHP?

Możliwości PHP są przeważnie ograniczone tylko naszymi umiejętnościami. Możemy np. zaprojektować prosty licznik odwiedzin, skrypt wyświetlający aktualną datę, ale także cały potężny system portalowy posiadający forum dyskusyjne, możliwość publikacji artykułów, komentowania lub nawet dodawania plików na serwer.
Możliwości PHP są bardzo duże ? możemy np. napisać:

  • sklep internetowy;
  • system ankiet;
  • system quizów;
  • forum dyskusyjne;
  • system rejestracji użytkowników;
  • statystyki odwiedzin strony;
  • system dodawania aktualności;

To tylko przykłady możliwości PHP. Sam już niedługo będziesz pisał podobne skrypty, w trakcie dalszej lektury.

Czego potrzebuje by programować w PHP?

Skrypty PHP przeważnie są uruchamiane i wykonywane na serwerze. Jeżeli nie masz własnego serwera, który posiada obsługę PHP, możesz go zainstalować na swoim domowym komputerze i z powodzeniem tworzyć oprogramowanie. Należy zaznaczyć, że na wielu darmowych serwerach (czyli tam, gdzie konto można założyć bez opłat) może nie być obsługi PHP. Nawet, jeżeli będziesz miał szczęście i założysz darmowe konto z obsługą PHP, to wcale nie oznacza, że będziesz mógł wykorzystać wszystkie jego możliwości (np. na wielu serwerach zablokowana jest funkcja mail() dzięki której można w prosty sposób wysłać e-mail).

Oprócz serwera HTTP oraz PHP, będziesz potrzebował dobrego edytora tekstu. Jak już wspomniałem skrypty PHP, to w rzeczywistości zwykłe pliki tekstowe, które możesz edytować zwykłym, najprostszym edytorem tekstu ? ot chociażby Notatnikiem standardowo dostępnym na systemach Windows.

PHPEdit

Bardzo popularnym edytorem aplikacji PHP jest PHPEdit (w chwili, gdy piszę te słowa powstała wersja 1.0.1). Program możesz ściągnąć ze strony www.phpedit.com po uprzedniej rejestracji dzięki której otrzymasz klucz rejestracyjny. Aplikacja jest swoistym kombajnem do tworzenia aplikacji PHP. Ułatwia i przyspiesza pracę dzięki dodatkowym mechanizmom, skrótom klawiaturowym, itp. PHPEdit w trakcie działania przedstawiony został na rysunku 3.

php1.3.jpg
Rysunek 3. PHPEdit w trakcie działania

Historia PHP

Gdy w 1995 roku Rasmus Lerdorf opracował pierwszą wersję PHP (nazwaną PHP/FI) nie spodziewał się pewnie, że jego dzieło osiągnie taką popularność. Lerdorf opracował własny język w celu monitorowania ruchu na swojej witrynie. Projektując język opierał się na języku Perl stąd takie podobieństwo, jeżeli chodzi o składnię obu języków. Jako, że składnia Perla jest podobna do C/C++, osoby programujące w C/C++/C#/Java/Perl nie będą miały problemów z opanowaniem PHP.

PHP (wówczas nazwane Personal Home Page Tools) rozrastało się coraz bardziej. Wkrótce język wzbogacił się o obsługę baz danych, a do samego projektu przyłączało się coraz więcej osób. W 1997 roku powstała druga wersja PHP/FI, której używano już w 50,000 domenach na całym świecie.

Powstanie PHP3 zrewolucjonizowało ten język. Wtedy to, do projektu przyłączyło się dwóch programistów: Andi Gutmans oraz Zeev Suraski, który całkowicie przepisali jądro języka (silnik w późniejszym czasie został nazwany Zend, od imion twórców). W skutek tego PHP stał się jeszcze potężniejszym narzędziem. Na dodatek zmieniono nazwę języka odcinając frazę FI, a sam akronim PHP od tej chwili oznacza PHP: Hypertext Preprocessor (akronim rekurencyjny).

Do tej pory najpopularniejszą wersją PHP jest PHP4, którego wersja finalna została wydana w roku 2000. Do tej pory PHP jest używany przez setki tysięcy programistów na całym świecie.

PHP i konkurenci

PHP nie jest jedyną alternatywą, jeżeli chodzi o wybór języka w celu stworzenia dynamicznej strony WWW. Nie ulega jednak wątpliwości, że jest to obecnie najpopularniejszy sposób. Przeważa o tym prostota obsługi ? PHP jest bowiem chyba najprostszym językiem z jakim miałem okazję się zetknąć. Perl np. jest językiem o wiele bardziej skomplikowanym, podobnie jak C, więc pisanie skryptów CGI wymaga o wiele większych umiejętności.

CGI

Jak wspomniałem wcześniej, technologia CGI znana jest programistom praktycznie od początku istnienia WWW. Skrypty CGI mogą być pisane zarówno w języku C jak i Perl ? język programowania nie ma tu praktycznie znaczenia ? warunkiem jest posiadanie na serwerze odpowiedniego kompilatora lub interpretera. Technologia CGI jest dosyć szybka, porównanie z PHP, lecz programowanie w CGI jest trudniejsze niż w PHP.

ASP

Technologia ASP (ang. Active Server Pages) została opracowana przez firmę Microsoft. W rzeczywistości ASP nie jest samodzielnym językiem programowania ? skrypty ASP mogą być pisane w języku JScript, VScript lub Python. Wadą ASP jest wolniejsze działanie programów oraz ograniczenia systemowe. ASP zostało zaprojektowane pod system Windows i jest najczęściej wykorzystywane wraz z serwerem IIS (ang. Internet Information Services), również autorstwa firmy Microsoft.

Istnieją, co prawda wersje ASP na system UNIX, lecz nie są one często używane.

ASP.NET

ASP.NET jest nową technologią, znacząco różnicą się od ASP. Jak nietrudno się domyśleć, również została opracowana przez firmę Microsoft. ASP.NET jest szybsze od swojego poprzednika, a programista swoje skrypty może pisać w języku C#, Visual Basic.NET, Delphi lub w jakimkolwiek obsługiwanym przez platformę .NET.

Ponadto skrypty ASP.NET podlegają kompilacji! Dzięki temu są szybsze w użyciu, bo interpreter nie musi za każdym razem analizować kodu programu. Skompilowana wersja pozostaje w specjalnej pamięci podręcznej, z której jest wywoływana w razie potrzeby. Należy zaznaczyć, że programista nie musi podejmować żadnych dodatkowych kroków związanych z kompilacją ? tym zajmuje się sama technologia
ASP.NET. Platforma Microsoft .NET to stosunkowo nowa technologia, która na razie ogranicza się jedynie do systemów Windows oraz serwerów IIS, tak więc odpada jej użycie na systemach UNIX.

Należy wspomnieć, o tym, że trwają pracę nad stworzeniem darmowej platformy .NET pod system Unix/Linux. Platforma ów jest na razie w fazie testowej i nie jest w powszechnym użyciu.

Porównanie prędkości

Czytelnik jest pewnie ciekaw jak wyglądają pomiary prędkości działania różnych aplikacji typu server-side. Należy jednak rozróżnić aplikacje pod względem objętości kodu, co wbrew pozorom ma znaczenie. Przykładowo większe aplikacje CGI, napisane w języku C są najszybsze i żadna technologia nie może się z nimi równać. W przypadku mniejszych skryptów, PHP okazuje się bezkonkurencyjne.

Jeżeli jesteśmy przy porównywaniu prędkości działania należy wziąć pod uwagę również skrypty języka Python oraz skrypty FastCGI.

Python jest językiem rozwijanym na zasadzie Open Source zyskującym ostatnio dużą popularność, którą zawdzięcza głównie swej prostocie. Siłą Pythona jest prosta, czytelna składnia, a jednocześnie spore podobieństwo do Perla.

Technologia FastCGI to technologia umożliwiająca tworzenie skryptów CGI o podwyższonej wydajności.

Jeżeli porównamy prędkości działania skryptów CGI napisanych w Perlu, C, skryptów Pythona, PHP oraz FastCGI, możemy zaobserwować, że PHP działa najszybciej. Nieznacznie zmienia się to w przypadku większych aplikacji. W takich przypadkach skrypty Perla oraz Pythona są wykonywane prawie trzykrotnie dłużej niż skrypty PHP, a programy napisane w C oraz FastCGI są minimalnie szybsze.

PHP

6 komentarzy

A gdzie jest wprowadzenie do php? :|

Juhas dnia 22-03-2005 16:27

A gdzie jest wprowadzenie do php? :|

Nieźle ;D

Gratulacje dla autora za kawał świetnej roboty.

Ale mam na uwadze jeden fragment tekstu, może go zacytuje: " Podczas czytania tej książki przekonasz się że PHP...".

Tak się zastanawiam, czy to nie miała być kolejna książka autora artykułu :?

mam nadzieję że będzie dalsza część może w końcu się spręże i się naucze php :)

Brakuje takie podrozdzialiku:

o php czytaj na: