Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Piotr Czapiewski Wydział Informatyki ZUT Wykład 1.

Podobne prezentacje


Prezentacja na temat: "Piotr Czapiewski Wydział Informatyki ZUT Wykład 1."— Zapis prezentacji:

1 Piotr Czapiewski Wydział Informatyki ZUT Wykład 1

2 Systemy internetowe Aplikacje internetowe Witryny internetowe Strony internetowe

3  Architektura trójwarstwowa (3-tier) Interfejs użytkownika Prezentacja wyników Warstwa prezentacji Logika biznesowa Przetwarzanie danych Kontrola przepływu informacji Warstwa aplikacji Bazy danych Składowanie i pobieranie danych Warstwa danych

4  Architektura trójwarstwowa (3-tier) Przeglądarka WWW HTML, CSS, JavaScript, Flash Warstwa prezentacji Serwer WWW, serwer aplikacji PHP, Java Servlets, JSP, EJB Warstwa aplikacji Serwer bazy danych PostgreSQL, MySQL, Oracle JDBC, ODBC, JDO, ADO.NET Warstwa danych

5  Architektura wielowarstwowa (multi-tier, n-tier) Warstwa prezentacji JSP, Java Servlets Warstwa logiki prezentacji Enterprise Java Beans Warstwa logiki biznesowej Warstwa danych

6  Architektura SOA (Service-Oriented Architecture)  Grupowanie funkcjonalności wokół procesów biznesowych  Udostępnianie funkcjonalności w postaci usług

7  Serwer WWW  Obsługa żądań HTTP, udostępnianie dokumentów, komunikacja z przeglądarką WWW  Uwierzytelnianie, kontrola dostępu  Przykładowe serwery: Apache, IIS, lighttpd  Serwer aplikacji  Platforma uruchamiania warstwy aplikacji, logiki biznesowej, usług sieciowych  Komunikacja z warstwą klienta i warstwą danych  Przykładowe serwery: Tomcat, JBoss, Glassfish,.NET Framework, Zend Server, Zope

8 Smarty, Zend, Symfony, Zoop, CodeIgniter… Java,.NET, C#, VB, Ruby, RoR, Flex… JSP, JSF, Struts, Spring, Tapestry, GWT, Seam… CGI, Perl, PHP, ColdFusion, ASP…

9 PHP: Hypertext Preprocessor

10  PHP  Język skryptowy ogólnego przeznaczenia  Główne zastosowanie: dynamiczne strony internetowe, server-side scripting  Powstanie i rozwój  Pierwsza wersja: 1995 r.  Twórca: Rasmus Lerdorf  Obecnie rozwijany przez PHP Group,  Open source  Zalety  Dostępny dla większości platform  Łatwy w użyciu  Szybki w działaniu

11 Źródło: Netcraft,

12 1.0 – – – programowanie obiektowe 5.1 – PDO 5.3 – przestrzenie nazw, PHAR 5.4 – wbudowany serwer WWW 6.0 Anulowane 7.0 Planowane

13 Example

14

15  Zasada działania  Początkowo: kod interpretowany  Obecnie: Zend Engine - kompilacja w locie, możliwe cache’owanie kodu pośredniego; planowane przejście na JIT

16  Serwer WWW  Apache –  Moduł PHP   Baza danych  MySQL –  PostgreSQL –  Paczuszka – wszystko w jednym  XAMPP –

17  Środowisko programistyczne (IDE)  Netbeans + PHP plugin –  Eclipse + PDT plugin –

18

19  Przeplatanie PHP i HTML  Blok kodu PHP może być ograniczony przez:

20

21

22  Komentarze w stylu języka C  Jednolinijkowe  Blokowe  Komentarze w stylu Perla

23  Identyfikatory zmiennych  Znak $ + nazwa zmiennej ▪ $x, $y, $username, $_A27  Rozróżniana wielkość liter ▪ $kartofel != $Kartofel != $KARTOFEL  Dozwolone znaki: ▪ Litery, cyfry, znaki podkreślenia ▪ Nazwa zmiennej musi zaczynać się od litery lub podkreślenia

24  Domyślnie zmienne przypisywane są przez wartość:  Przypisanie przez referencję:

25  Uwaga na referencje:

26  Deklaracja i inicjalizacja zmiennych nie jest konieczna  Zmienne inicjowane są wartością domyślną danego typu  boolean: false, integer: 0, string: ""  Niebezpieczeństwo:  Sprawdzenie czy zmienna została zainicjowana: Brak błędu Wynik: 7

27  Typów zmiennych w PHP nie trzeba deklarować  Typ zmiennej określany jest na podstawie kontekstu, w jakim zmienna została użyta  Automatyczna konwersja typów

28  Łańcuch może być ograniczony:  Apostrofami – 'Ala ma kota'  Cudzysłowem – "Ala ma kota”

29  Wewnątrz możemy umieszczać cudzysłów  Aby w środku łańcucha umieścić apostrof, poprzedzamy go znakiem backslash: \'  Aby umieścić backslash na końcu łańcucha lub przed znakiem apostrofu, wpisujemy dwa znaki backslash: \\  Backslash umieszczony przed innym znakiem zostanie wyświetlony normalnie  Zmienne wewnątrz łańcucha nie są rozwijane  Łańcuch może zawierać znaki nowej linii

30

31  Więcej sekwencji specjalnych, np. \n, \r, \t, \$, \"  Zagnieżdżanie cudzysłowu i apostrofu

32  Rozwijanie zmiennych zawartych w łańcuchu

33  Operator konkatenacji – kropka  Zmiana wielkości znaków

34  Dostęp do pojedynczych znaków  Długość łańcucha  Wyszukanie i zamiana ciągów znaków

35  Zamiana łańcucha na liczbę  Automatyczna, typ zależny od kontekstu  Jeśli łańcuch zawiera: kropkę, 'e' lub 'E'  typ float  W przeciwnym wypadku  typ integer  Zamieniana jest początkowa część łańcucha, tworząca liczbę  Jeśli łańcuch nie zawiera liczby  wartość zero

36  Instrukcja warunkowa if

37

38  Pętle while i do-while

39  Pętle for i foreach

40  Instrukcja wyboru switch

41  Tablica w PHP jest w rzeczywistości uporządkowaną mapą  przechowuje pary klucz-wartość  Tablicy można użyć jako:  tablicy, listy, mapy, słownika, stosu, kolejki…  Wielowymiarowe tablice  tablice zawierające tablice

42  Tworzenie tablicy

43  Dopisywanie danych na końcu tablicy  Usuwanie danych z tablicy

44  Iterowanie po tablicy – pętla foreach

45  Definicja i wywołanie funkcji  Funkcja może być zdefiniowana później, niż użyta  Nazwa funkcji – reguły jak dla zmiennych  Zawartość – dowolny kod, także inne funkcje i klasy

46

47

48  Domyślnie argumenty przekazywane są przez wartość  Przekazywanie przez referencję

49  Argumenty z wartością domyślną Making a cup of cappuccino. Making a cup of. Making a cup of espresso. Making a cup of cappuccino. Making a cup of. Making a cup of espresso.

50  Argumenty z wartością domyślną – błędne użycie  ŹLE  DOBRZE

51

52 rejestruj.php rejestruj.php index.html

Imię: Nazwisko: index.html Imię: Nazwisko: rejestruj.php?imie=Jan& nazw=Kowalski

53  Formularz HTML  Tablice globalne: $_GET, $_POST

54  Zabezpieczenie przed wstrzykiwaniem kodu HTML lub JavaScript

55

56 Rozwiązanie problemu bezstanowości protokołu HTTP Generowany przy pierwszym żądaniu Przesyłany w URL lub zapamiętywany jako cookie Identyfikator sesji Serwer zapamiętuje stan sesji (stan uwierzytelnienia, pozycje w koszyku, itp.) Zmienne kojarzone są z danym identyfikatorem Tablica sesji Jawne zniszczenie sesji Wygaśnięcie sesji po upływie określonego czasu Usuwanie stanu sesji

57  Rozpoczynanie sesji  Automatyczne – jeśli session.auto_start = 1  Ręczne – session_start();  Zmienne sesyjne  $_SESSION['uzytkownik'] = 'Zdzichu';  Usunięcie zmiennej zapisanej w sesji  unset($_SESSION['nazwa_zmiennej'])  Usunięcie sesji  session_destroy()

58

59


Pobierz ppt "Piotr Czapiewski Wydział Informatyki ZUT Wykład 1."

Podobne prezentacje


Reklamy Google