1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński
2 Bloki kodu Blok if-else Switch Pętle Funkcje
Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują tak samo, jak w innych językach np. JavaScript.
Blok if-else 4 Różnice pojawiają się, gdy chcemy dokonać sprawdzenia kilku warunków. Mamy wtedy doczynienie ze strukturą if-elseif-else. Każdy następujący warunek po pierwszym jest poprzedzany elseif pisane razem zamiast else if.
Switch 5 Struktura switch jest taka sama, jak w innych językach programowania.
Pętle pętla while 6 Struktura pętli while jest taka sama, jak w innych językach programowania.
Pętle pętla do while 7 Struktura pętli do while jest taka sama, jak w innych językach programowania.
Pętle pętla for 8 Struktura pętli for jest taka sama, jak w innych językach programowania.
Pętle pętla foreach 9 W języku PHP występuje pętla foreach. Jest to pętla działające jedynie z tablicami. Iteruje ona po każdej parz klucz-wartość w tablicy. W każdej iteracji wartość z danego indeksu tablicy jest przypisywana do zmiennej $value. Pętla działa tak długo, dopóki nie dotrze do końca tablicy.
Pętle pętla foreach 10
Funkcje - podstawa 11 Funkcje w PHP tworzy się w podobny sposób, jak w JavaScript. Deklaracja funkcji składa się ze słowa function, nazwy funkcji, opcjonalnych parametrów i kodu do wykonania. Nazwy funkcji NIE są wrażliwe na wielkość liter.
Funkcje domyślna wartość parametrów 12 Dla funkcji w PHP można zdefiniować domyślną wartość parametrów. W deklaracji funkcji przypisuje się wartość do parametru. W sytuacji, gdy funkcja zostanie wywołana bez parametru, to wykorzystana zostanie wartość domyślna. Parametry z domyślną wartością powinny być podawane na końcu deklaracji.
Funkcje zmienna ilość parametrów 13 W PHP możemy korzystać z funkcji podając im różną liczbę parametrów. Do wyłuskania ich i ich liczby wewnątrz funkcji służą dwie metody. func_num_args() zwraca liczbę parametrów przekazanych do funkcji. func_get_args() zwraca tablicę parametrów przekazanych do funkcji. Istnieje też metoda pozwalająca na uzyskanie konkretnego parametru. func_get_arg( integer ) zwraca konkretny parametr przekazany do funkcji. Wszystkie te 3 metody mogą być kreatywnie wykorzystywane razem
14 Tablice Rodzaje tablic Deklaracja tablic Wielkość tablic Iteracja po tablicach Sortowanie Metody dostępne dla tablic
Tablice rodzaje 15 Tablice indeksowane tablica jest indeksowana w sposób numeryczny Tablice asocjacyjne indeksy tablicy są nazywane, czyli są stringami Tablice wielowymiarowe
Deklaracja tablic tablice indeksowane 16 Tworzenie tablicy indeksowanej odbywa się poprzez wywołania funkcji array(), w której parametrach można przekazać dane. Wartości do tablicy także mogą być przypisywane ręcznie do konkretnego indeksu.
Deklaracja tablic tablice asocjacyjne 17 Tworzenie tablicy indeksowanej odbywa się poprzez wywołania funkcji array(), w której parametrach można przekazać dane. Dane są przekazywane w parach stringów klucz-wartość, jak na przykładzie. Wartości do tablicy także mogą być przypisywane ręcznie do konkretnego indeksu.
Deklaracja tablic tablice wielowymiarowe. 18 Tworzenie tablicy indeksowanej odbywa się poprzez wywołania funkcji array(), w której jako parametry przekazujemy inne tablice lub deklaracje nowych tablic. Można stworzyć pustą tablicę wielowymiarową, a wartości przypisywać ręcznie do konkretnego indeksu.
Wielkość tablic 19 Do sprawdzenia wielkości tablic służy funkcja count(). Funkcja jako parametr przyjmuje tablicę, a zwraca wartość liczbową będącą jej wielkością (długością).
Iteracja tablic 20 Iteracje tablic indeksowanych (jedno lub wielowymiarowych) można zrealizować przy użyciu pętli for lub pętli foreach. Iterację tablic asocjacyjnych można zrealizować przy użyciu pętli foreach.
Sortowanie 21 W PHP jest szereg gotowych funkcji sortujących. sort() sortowanie alfabetyczne rosnące rsort() sortowanie alfabetyczne malejące asort() sortowanie rosnące ze względu na wartości ksort() sortowanie rosnące ze względu na klucze arsort() sortowanie malejące ze względu na wartości krsort() sortowanie malejące ze względu na klucze
Metody dostępne dla tablic 22 Metody sortowania to tylko część metod dostępnych dla tablic w języku PHP. Dostępne są metody, takie jak: array_push() array_pop() array_shift() array_unshift() Pełną listę metod można znaleźć tutaj.
23 Krótko o obiektach Tworzenie klasy Tworzenie obiektu na podstawi klasy Rzut informacji
Tworzenie klasy 24 Aby móc stworzyć obiekt w PHP w pierwszej kolejności musimy stworzyć klasę. Klasę tworzymy poprzez użycie słowa class i podania nazwy tworzonej klasy. W nawiasach klamrowych umieszczamy zawartość klasy, pola i metody.
Tworzenie obiektu na podstawie klasy klasy 25 Aby stworzyć obiekt danej klasy korzystamy ze słowa new oraz konstruktora klasy. Konstruktor klasy do funkcja o takiej samej nazwie. Aby dostać się do pola lub metody obiektu korzysta się ze znaków ->, zamiast znaku kropki, jak np. w JavaScript. Do obiektów możemy dodawać nowe pola, które nie zostały uwzględnione w definicji klasy.
Tworzenie obiektu na podstawie klasy klasy 26
Rzut informacji 27 Obiekty w PHP, to obszerny temat. W tej prezentacji zawarte zostało minimum potrzebne do działania na obiektach. W PHP występuje dziedziczenie. Można tworzyć własne konstruktory i dekonstruktory. Można w obiektach określać stałe. Można korzystać ze słowa-klucza static i final. Można tworzyć klasy anonimowe, abstrakcyjne i interfejsy. Więcej w tym temacie można znaleźć tutaj, w dokumentacji PHP.
28 Formularze Przejmowanie danych z formularza Walidacja formularza Pozostawienie danych w formularzu
Przejmowanie danych z formularza vol.1 29 W tym momencie powinieneś wiedzieć, że dane z formularza wysyłane są przez protokół HTTP, najczęściej poprzez metody GET i POST. Powinieneś wiedzieć, że istnieją superglobalne $_REQUEST, $_POST i $_GET. Powinieneś pamiętać iż te trzy superglobalne są tablicami asocjacyjnymi, których indeksy to wartość atrybutu name nadawanego elementom w HTML. Tak więc, aby korzystać z danych wysłanych z formularza, należy posłużyć się, którąś z wyżej wymienionych superglobalnych. Powyższe punkty dotyczą klasycznej drogi przesyłania danych z formularza. Przy asynchronicznej komunikacji z serwerem sytuacja wygląda inaczej.
Przejmowanie danych z formularza vol.2 30 Aby uzyskać dane JSON wysłane na serwer należy wykorzystać funkcję file_get_contents(). Jako parametr tej funkcji przekazujemy stringa php://input, który pozwala na uzyskanie surowych danych wysłanych metodą POST. Funkcja json_decode() pozwala na konwersję tych surowych danych z formatu JSON.
Walidacja formularza 31 W momencie, gdy po stronie serwera mamy dostęp w PHP do danych możemy dokonać walidacji tych danych i odesłać w odpowiedzi np. wystąpienie błędu lub braku w danych. Jednakże w podejściu asynchronicznym celem jest dokonanie wstępnej walidacji po stronie przeglądarki i wysłanie danych na serwer. Zadaniem kodu po stronie serwera jest upewnienie się, że przesłany kod nie jest szkodliwy i odpowiednie go przetworzenie.
Pozostawienie danych w formularzu 32 Przy asynchronicznej komunikacji pomiędzy klientem a serwerem nie następuje przeładowanie się strony i dane pozostają w formularzu. Przy tym podejściu należy zadbać o wyczyszczenie formularza w odpowiednim momencie. Przy synchronicznym wysyłaniu danych strona zostaje przeładowana, co powoduje wyczyszczenie formularza. Jeżeli dane z formularza są przesyłane do tego samego dokumentu, w którym on się znajduje, to jest możliwość ponownego uzupełnienia formularza po przeładowaniu się strony. Wymaga do wymieszania kodu HTML z kodem PHP. To podejście robi lekki bałagan w dokumencie i pogarsza jego czytelność. *Wymagane jest również przetwarzanie danych w tym samym dokumencie, w którym znajduje się formularz.
Pozostawienie danych w formularzu 33