PHP

29
PHP Marcin Celiński grudzień 2000

description

PHP. Marcin Celiński grudzień 2000. PHP. Plan prezentacji. - Wprowadzenie - Możliwości - Podstawy języka PHP - Przykłady - Podsumowanie. PHP. Wprowadzenie. Czym jest PHP?. - oficjalnie PHP: Hypertext Preprocessor język skryptowy zagnieżdżony w HTMLu działa po stronie serwera - PowerPoint PPT Presentation

Transcript of PHP

Page 1: PHP

PHP

Marcin Celińskigrudzień 2000

Page 2: PHP

PHPPlan prezentacji

- Wprowadzenie- Możliwości- Podstawy języka PHP- Przykłady- Podsumowanie

Page 3: PHP

PHPWprowadzenie

Czym jest PHP?

- oficjalnie PHP: Hypertext Preprocessor- język skryptowy zagnieżdżony w HTMLu - działa po stronie serwera - służy do tworzenia dynamicznych stron WWW

Page 4: PHP

PHPWprowadzenie

Krótka histroria

- koniec 1994 roku; autor Rasmus Lerdorf- wczesne wersje wykorzystywane jedynie przez samego autora w celu tworzenia statystyk odwiedzin jego strony domowej- pierwsza publiczna wersja w 1995 znana jako PHP Tools (Personal Home Page Tools)- stworzony ponownie w połowie 1995 i nazwany PHP/FI Version 2; interpreter danych przesyłanych z formularzy HTML

Page 5: PHP

PHPWprowadzenie

Krótka histroria (2)

- w 1997 PHP przestało być prywatnym przedsięwzięciem- powstała witryna http://www.php.net zrzeszająca wysiłki osób zaangażowanych w rozwój systemu- Zeev Suraski i Andi Gutmans od nowa stworzyli nowy interpreter w 1998 - PHP Version 3- Nowy kompilator Zend (Zeev Suraski i Andi Gutmans ) - PHP4- na podstawie danych NetCraftu szacuje się, że PHP jest używane na około 3300000 witrynach

Page 6: PHP

PHPMożliwości

Czego PHP nie potrafi zrobić

- PHP jest językiem interpretowanym, skrypty nie są wykonywane tak szybko jak programy kompilowane- PHP nie udostępnia (łatwego) działania na bitach- PHP nie udostępnia wskaźników. Autorzy nie uważają braku wskaźników za wadę, lecz jako zaletę PHP- PHP nie dysponuje możliwościami wykorzystania standardu CORBA. Jeśli byłyby one dostępne, to PHP dysponowałoby możliwością pobierania danych z istniejących systemów klient-serwer.

Page 7: PHP

PHPMożliwości

Czego PHP nie potrafi zrobić (2)

- PHP wymaga większej niezależności w obsłudze baz danych. Większość funkcji służących do obsługi baz danych dostępnych w PHP sprowadza się do wywołania odpowiedniej funkcji API, udostępnianej przez konkretny system baz danych. Oznacza to, że obsługa każdej z baz danych wymaga odrębnych funkcji i metod.

Page 8: PHP

PHPMożliwości

Czego PHP nie potrafi zrobić (3)

- STAN. HTTP jest protokołem bezstanowym, a skrypty CGI i PHP są ulotne – serwer wykonuje je, zamyka i zapomina, co działo się przed chwilą. Wprowadza to konieczność wykorzystania unikalnych identyfikatorów.- System transakcyjny. Nawet jeśli system bazy danych obsługuje transakcje, to nie są one przydatne, kiedy nie wszystkie aktualizowane dane znajdują się na serwerze bazy danych.

Page 9: PHP

PHPMożliwości

Dlaczego PHP?

- PHP jest narzędziem niezależnym od systemu operacyjnego serwera WWW- PHP działa z większością webserwerów (Apache, Microsoft IIS, AOL Server, Netscape Enterprise Server, Xitami) dostępnych na różnych systemach operacyjnych (systemy unixowe, Windows itp.)- zapożycza najlepsze cechy i możliwości funkcjonalne języka C, Javy, Perl-a. W rzeczywistości składnia PHP jest bardzo podobna do składni języka C

Page 10: PHP

PHPMożliwości

Dlaczego PHP? (2)

- w odróżnieniu od analogicznych rozwiązań komercyjnych jest produktem darmowym udostępnianym na zasadach Open Source- PHP daje możliwości modyfikacji. PHP zaprojektowano tak, aby dawało możliwość przyszłego rozszerzania możliwości funkcjonalnych. - niezawodność

Page 11: PHP

PHPMożliwości funkcjonalne

- możliwości PHP nie ograniczają się tylko do generowania danych wyjściowych w postaci kodu HTML. PHP umożliwia generację danych binarnych, w tym także obrazków JPEG, PNG oraz GIF. - PHP pozwala na generowanie dokumentów PDF - posiada narzędzia potwierdzania tożsamości, dostępne w protokole HTTP- istnieje możliwość przesyłania na serwer plików binarnych i tekstowych- posiada słownik Aspell

Page 12: PHP

PHPMożliwości funkcjonalne (2)

- daje możliwość tworzenia i wykorzystywania cookies- dysponuje możliwością obsługi protokołu SNMP, pozwalającego na monitorowanie wielu urządzeń: ruterów, koncentratory i serwery- daje możliwość korzystania z wielu standardów, takich jak HTML, LDAP, SMTP, SNMP, POP oraz IMAP- pozwala na korzystanie z wyrażeń regularnych

Page 13: PHP

PHPMożliwości funkcjonalne (3)

- umożliwia kompresje / dekompresje danych- posiada funkcje kryptograficzne- umożliwia korzystanie z appletów (lub servletów) Java - obsługuje standard XML- oferuje wsparcie dla wielu baz danych : Adabas, Dbase, Dbm, FilePro, Hyperwave, Informix, InterBase, mSQL, Microsoft SQL Server, MySQL Sybase, Oracle, PostgreSQL, Solid oraz ODBC

Page 14: PHP

PHPPodstawy języka PHP

Umieszczanie kodu PHP w HTML

Metoda 1 (Znaczniki krótkie) <? echo ("to jest najprostszy sposób\n"); ?>Metoda 2 (preferowana) <?php echo("a ten preferowany\n"); ?>Metoda 3 (znacznik skryptów) <script language="php"> echo (”jako zawartość elementu 'script’\n");</script>Metoda 4 (znaczniki ASP) <% echo (”możesz użyć znaczników w stylu ASP\n"); %>

Page 15: PHP

PHPPodstawy języka PHP

Komentarze

PHP obsługuje komentarze w stylu ' C', 'C++' oraz Unix shell<?phpecho "To jest test"; // To komentarz jednoliniowy/* To komentarz wieloliniowy */echo "Jeszcze jeden test";echo "Test"; #To komentarz w stylu Unix-shell?>

Page 16: PHP

PHPPodstawy języka PHP

Zmienne

-zmiennych nie trzeba deklarować, - typ zmiennej określany jest w czasie wykonywania programu i zależy od kontekstu, w jakim zmienna została użyta - nazwa zmiennej musi być poprzedzona znakiem $:$a = 2; //zmienna typu całkowitego$b = 1.2; //zmienna typu rzeczywistego $c = "tekst"; //zmienna typu tekstowego

Page 17: PHP

PHPPodstawy języka PHP

Zmienne środowiskowe

- zmienne środowiskowe są parami nazwa-wartość istniejącymi w danej sesji użytkownika.- w PHP zmienne środowiskowe automatycznie stają się normalnymi zmiennymi PHP

echo $REMOTE_ADDR echo $REMOTE_HOST echo $HTTP_USER_AGENT echo $SERVER_NAME

Page 18: PHP

PHPPodstawy języka PHP

Cookies - cookies są mechanizmem służącym do przechowywania informacji w przeglądarkach WWW i często służą do śledzenia i identyfikacji użytkowników- są zapisywane na komputerze użytkownika:SetCookie(„kto”, „Janek”);- a kolejne wyświetlane strony mogą je odczytywać i operować na nich: echo $kto;Cookies są usuwane z lokalnego komputera po upływie określonego czasu lub po zakończeniu sesji

Page 19: PHP

PHPPrzykłady

<HTML><HEAD><TITLE>Przyklad 1</TITLE></HEAD><BODY>Aktualna data to: <?PHP //wyświetl aktualną datę print(Date("d-m-Y")); ?></BODY></HTML>

Page 20: PHP

PHPPrzykłady

<HTML><HEAD><TITLE>Przyklad 1</TITLE></HEAD><BODY>Aktualna data to: 16-12-2000</BODY></HTML>

Kod który dostaje przeglądarka nie zawiera PHP. Jest to czysty HTML, dzięki czemu nikt nie wie jak wygląda nasz skrypt PHP

Przeglądarka wyświetla zwykły kod HTML

Page 21: PHP

PHPPrzykłady

<HTML><HEAD><TITLE>Funkcje dynamiczne</TITLE></HEAD><BODY><?PHP function write($text) {

print($text); } function writeBold($text) {

print("<B>$text</B>"); } $myFunction = "write"; $myFunction("Witaj!<BR>\n"); $myFunction = "writeBold"; $myFunction("I żegnaj!<BR>\n");?></BODY></HTML>

<HTML><HEAD><TITLE>Funkcje dynamiczne</TITLE></HEAD><BODY>Witaj!<BR><B>I żegnaj!</B><BR></BODY></HTML>

Page 22: PHP

PHPPrzykłady

<HTML> <HEAD><TITLE>Tabliczka mnożenia</TITLE></HEAD> <BODY><? print("<TABLE BORDER=\"1\">\n"); //rozpocznij tabelę for($Row=1; $ Row <= 12; $ Row ++) {

print("<TR>\n"); // rozpocznij wiersz// wyświetl każdą z kolumnfor($Column=1; $ Column <= 12; $ Column ++){

print("<TD>");print($Row * $Column);print("</TD>");

}print("</TR>\n"); // zakończ wiersz

} print("</TABLE>\n"); // zakończ tabelŕ?></BODY></HTML>

Page 23: PHP

PHPPrzykłady

Korzystając tylko z HTMLa kod byłby znacznie dłuższy przez co łatwiej o pomyłkę.

Przeglądarka wyświetli nam ładną tabliczkę mnożenia

Page 24: PHP

PHPPrzykłady

Plik grafika.php<? header("Content-type: image/gif"); $image = imagecreate(80,80); $color1 = imagecolorallocate($image, 0, 0, 255); $color2 = imagecolorallocate($image, 255,255,0); imagefill($image, 0, 0, $color2); // wyświetl napis imagestring($image, 5, 0, 0, $napis, $color1); imagestringup($image, 5, 50, 40, "CDE", $color1); imagegif($image);?>

<HTML><HEAD><TITLE>Grafika</TITLE></HEAD><BODY><IMG SRC=grafika.php&napis=ABC></BODY></HTML>

Możemy dynamicznie tworzyć dowolną grafikę na stronie WWW

Page 25: PHP

<HTML><HEAD><TITLE>Dane z bazy</TITLE></HEAD><BODY><? //nawiąż połączenie $i=odbc_connect("access"); $query="select * from osoba"; //wykonaj zapytanie SQL $result=odbc_do($i, $query); //przekaż do przeglądarki odbc_result_all($result, "BORDER=2"); odbc_free_result($result); odbc_close($i);?></BODY></HTML>

PHPPrzykłady

Page 26: PHP

PHP Przykłady<HTML><HEAD><TITLE>Pobierz dane</TITLE></HEAD><BODY><FORM ACTION="zapisz.php" METHOD="post">Twoje imię:<INPUT TYPE="text" NAME="Imie"><BR>Twoje nazwisko: <INPUT TYPE="text" NAME="Nazwisko"><BR><INPUT TYPE="submit" VALUE="Zapisz"></FORM></BODY></HTML>

Page 27: PHP

<HTML> <HEAD><TITLE>Zapisanie danych</TITLE></HEAD> <BODY><? $i=odbc_connect("access"); $query="insert into osoba values". "('$Imie', '$Nazwisko')"; print($query); $result=odbc_do($i, $query); odbc_free_result($result); odbc_close($i); print("Twoja dane zostały zapisane");?></BODY> </HTML>

PHP Przykłady

Plik zapisz.php

Page 28: PHP

Potencjał języka jest ogromny. Wystarczy przejrzeć listę projektów, w wykonaniu których posłużono się PHP

- www.agencjacenowa.com.pl- www.allegro.pl- mail.go2.pl- www.conowego.pl- www.infogsm.pl- www.zone.pl

PHPPodsumowanie

Page 29: PHP

PHPPodsumowanie

Bibliografia

- Leon Atkinson „PHP 3”- Craig Hilton „PHP 3 Internetowe aplikacje bazodanowe”- http://www.php.net (manual)- news://pl.comp.www.server-side