PHP

advertisement
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)
<? 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"); %>
PHP
Podstawy języka PHP
Komentarze
PHP obsługuje komentarze w stylu ' C', 'C++' oraz
Unix shell
<?php
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
echo
echo
echo
$REMOTE_ADDR
$REMOTE_HOST
$HTTP_USER_AGENT
$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
<HTML>
<HEAD>
<TITLE>Przyklad 1</TITLE>
</HEAD>
<BODY>
Aktualna data to:
<?PHP
//wyświetl aktualną datę
print(Date("d-m-Y"));
?>
</BODY>
</HTML>
PHP
Przykł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
PHP
Przykł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>
PHP
Przykł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 kolumn
for($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>
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);
?>
<HTML>
<HEAD>
<TITLE>Grafika</TITLE>
</HEAD>
<BODY>
<IMG SRC=grafika.php&napis=ABC>
</BODY>
</HTML>
Możemy
dynamicznie
tworzyć
dowolną
grafikę na
stronie WWW
PHP
Przykłady
<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>
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>
PHP
Przykłady
<HTML> <HEAD>
<TITLE>Zapisanie danych</TITLE>
</HEAD> <BODY>
Plik zapisz.php
<?
$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
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
Download