1 / 51

Technologie tworzenia aplikacji internetowych

Piotr Czapiewski Wydział Informatyki ZUT. Technologie tworzenia aplikacji internetowych. Wykład 1. Architektura aplikacji internetowych. Architektura trójwarstwowa ( 3-tier ). Architektura aplikacji internetowych. Architektura trójwarstwowa ( 3-tier ).

tallis
Download Presentation

Technologie tworzenia aplikacji internetowych

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Piotr Czapiewski Wydział Informatyki ZUT Technologie tworzenia aplikacji internetowych Wykład 1

  2. Architektura aplikacji internetowych • Architektura trójwarstwowa (3-tier)

  3. Architektura aplikacji internetowych • Architektura trójwarstwowa (3-tier)

  4. Architektura aplikacji internetowych • Architektura wielowarstwowa (multi-tier, n-tier)

  5. Serwer WWW a serwer aplikacji • 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

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

  7. PHP PHP: Hypertext Preprocessor

  8. PHP: HypertextPreprocessor • PHP • Język skryptowy ogólnego przeznaczenia • Główne zastosowanie: dynamiczne strony internetowe, server-sidescripting • Powstanie i rozwój • Pierwsza wersja: 1995 r. • Twórca: RasmusLerdorf • Obecnie rozwijany przez PHP Group, http://php.net • Opensource • Zalety • Dostępny dla większości platform • Łatwy w użyciu • Szybki w działaniu

  9. Popularność PHP

  10. Historia PHP

  11. PHP: osadzanie w HTML <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Example</title> </head> <body> <?php echo"Hi, I'm a PHP script!"; ?> </body> </html>

  12. Proces generowania strony

  13. Proces generowania strony • Zasada działania • Początkowo: kod interpretowany • Obecnie: kod kompilowany do postaci bytecodu uruchamianego przez Zend Engine

  14. Jak zacząć? • Serwer WWW • Apache – http://www.apache.org • Moduł PHP • http://www.php.net • Baza danych • MySQL – http://www.mysql.com • PostgreSQL – http://www.postgresql.org • Paczuszka – wszystko w jednym • XAMPP – http://www.apachefriends.org

  15. Jak zacząć? • Środowisko programistyczne (IDE) • Netbeans + PHP plugin – http://www.netbeans.org • Eclipse + PDT plugin – http://www.eclipse.org • Aptana – http://www.aptana.com

  16. Programowanie w PHP

  17. Składnia PHP • Przeplatanie PHP i HTML • Blok kodu PHP może być ograniczony przez:

  18. Przeplatanie PHP i HTML

  19. Przeplatanie PHP i HTML

  20. Komentarze • Komentarze w stylu języka C • Jednolinijkowe • Blokowe • Komentarze w stylu Perla

  21. Zmienne • Identyfikatory zmiennych • Znak $ + nazwa zmiennej • $x, $y, $username, $_A27 • Rozróżniana wielkość liter • $kartofel != $Kartofel != $KARTOFEL • Dozwolone znaki: • Litery, cyfry, znakipodkreślenia • Nazwa zmiennej musizaczynać się od literylub podkreślenia

  22. Przypisywanie zmiennych • Domyślnie zmienne przypisywane są przez wartość: • Przypisanie przez referencję:

  23. Przypisywanie zmiennych • Uwaga na referencje:

  24. Inicjalizacja zmiennych • 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 zmiennazostała zainicjowana: Brak błędu Wynik: 7

  25. Typy zmiennych • 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

  26. Łańcuchy tekstowe • Łańcuch może być ograniczony: • Apostrofami – 'Ala ma kota' • Cudzysłowem – "Ala ma kota”

  27. Łańcuchy ograniczone apostrofami • 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

  28. Łańcuchy ograniczone apostrofami

  29. Łańcuchy ograniczone cudzysłowem • Więcej sekwencji specjalnych, np. \n, \r, \t, \$, \" • Zagnieżdżanie cudzysłowu i apostrofu

  30. Łańcuchy ograniczone cudzysłowem • Rozwijanie zmiennych zawartych w łańcuchu

  31. Operacje na łańcuchach tekstowych • Operator konkatenacji – kropka • Zmiana wielkości znaków

  32. Operacje na łańcuchach tekstowych • Dostęp do pojedynczych znaków • Długość łańcucha • Wyszukanie i zamiana ciągów znaków

  33. Operacje na łańcuchach tekstowych • 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

  34. Instrukcje sterujące • Instrukcja warunkowa if

  35. Instrukcje sterujące • Instrukcja warunkowa if

  36. Instrukcje sterujące • Pętle while i do-while

  37. Instrukcje sterujące • Pętle for i foreach

  38. Instrukcje sterujące • Instrukcja wyboru switch

  39. Tablice • 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

  40. Tablice • Tworzenie tablicy

  41. Tablice • Dopisywanie danych na końcu tablicy • Usuwanie danych z tablicy 1 2 3 8 13 18

  42. Tablice • Iterowanie po tablicy – pętla foreach

  43. Funkcje • 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

  44. Funkcje warunkowe

  45. Funkcje warunkowe

  46. Argumenty funkcji • Domyślnie argumenty przekazywane są przez wartość • Przekazywanie przez referencję

  47. Argumenty funkcji • Argumenty z wartością domyślną Making a cup of cappuccino. Making a cup of . Making a cup of espresso.

  48. Argumenty funkcji • Argumenty z wartością domyślną – błędne użycie • ŹLE • DOBRZE

  49. Obsługa formularzy rejestruj.php <?phpif(isset($_REQUEST['email'])) {$imie = filtruj($_REQUEST['imie']);$nazw = filtruj($_REQUEST['nazw']);$email = filtruj($_REQUEST['email']);$id = dodaj($imie, $nazw, $email);} else {wyswietlFormularz();}function filtruj($s) {returntrim(htmlspecialchars($s));}?> rejestruj.php?imie=Jan&nazw=Kowalski index.html <formaction="rejestruj.php" method="get"> Imię: <inputtype="text"name="imie"> Nazwisko: <inputtype="text"name="nazw"> <inputtype="submit"value="Wyślij"></form>

  50. Obsługa formularzy • Formularz HTML • Tablice globalne: $_GET, $_POST

More Related