Transcript PHP

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 służy do tworzenia dynamicznych stron WWW

PHP

Wprowadzenie 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

PHP

Wprowadzenie 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

PHP

Moż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.

PHP

Moż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.

PHP

Moż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.

PHP

Moż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

PHP

Moż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ść

PHP

Moż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

PHP

Moż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

PHP

Moż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

PHP

Podstawy języka PHP Umieszczanie kodu PHP w HTML

Metoda 1 (Znaczniki krótkie) Metoda 2 (preferowana) Metoda 3 (znacznik skryptów) Metoda 4 (znaczniki ASP) <% echo (”możesz użyć znaczników w stylu ASP\n"); %>

PHP

Podstawy języka PHP Komentarze

PHP obsługuje komentarze w stylu ' C', 'C++' oraz Unix shell

echo "To jest test"; // To komentarz jednoliniowy /* To komentarz wieloliniowy */ echo "Jeszcze jeden test"; echo "Test"; #To komentarz w stylu Unix-shell ?>

PHP

Podstawy 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

PHP

Podstawy 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

PHP

Podstawy 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

PHP

Przykłady

Przyklad 1 Aktualna data to:

//wyświetl aktualną datę print(Date("d-m-Y")); ?>

PHP Przykłady

Przyklad 1 Aktualna data to: 16-12-2000

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

PHP Przykłady

Funkcje dynamiczne

function write($text) { print($text); } function writeBold($text) { print("$text"); } $myFunction = "write"; $myFunction("Witaj!
\n"); $myFunction = "writeBold"; $myFunction("I żegnaj!
\n"); ?> Funkcje dynamiczne Witaj!
I żegnaj!

PHP Przykłady

Tabliczka mnożenia

print("

\n"); //rozpocznij tabelę for($Row=1; $ Row <= 12; $ Row ++) { print("\n"); // rozpocznij wiersz // wyświetl każdą z kolumn for($Column=1; $ Column <= 12; $ Column ++) { print(""); } print("\n"); // zakończ wiersz } print("
"); print($Row * $Column); print("
\n"); // zakończ tabelŕ ?>

PHP Przykłady

Przeglądarka wyświetli nam ładną tabliczkę mnożenia Korzystając tylko z HTMLa kod byłby znacznie dłuższy przez co łatwiej o pomyłkę.

PHP Przykł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); ?> Grafika

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

PHP Przykłady

Dane z bazy

//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); ?>

PHP

Przykłady

Pobierz dane

Twoje imię:
Twoje nazwisko:

PHP

Przykłady

Zapisanie danych

"('$Imie', '$Nazwisko')"; Plik zapisz.php

$i=odbc_connect("access"); $query="insert into osoba values".

print($query); $result=odbc_do($i, $query); odbc_free_result($result); odbc_close($i); print("Twoja dane zostały zapisane"); ?>

PHP

Podsumowanie

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

PHP

Podsumowanie Bibliografia

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