Wyjątki w PHP - Instytutu Informatyki UJ
Transkrypt
Wyjątki w PHP - Instytutu Informatyki UJ
Programowanie w Sieci Internet — PHP - wyjątki i inne takie Kraków, 30 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić • Wyjątki w PHP, • Obsługa dat, • Formatowanie daty w PHP, Wyjątki w PHP W PHP tak jak w większości języków wyższego poziomu możemy wyłapywać w bloku catch, wyjątki rzucane przez metody umieszczone w bloku try. try { ... } catch(Exception $ex) { ... } Niestety PHP nie daje nam zbyt wiele takich wyjątków do wykorzystania. Na szczęście możemy sami zdefiniować i rzucić wyjątkiem przez deklaracje throw //condition throw new Exception(“wiadomość zwracana przez wyjątek”); Wyjątki w PHP c. d. Metody klasy Exception: • getCode() — zwraca kod błędu; • getFile() — zwraca nazwę pliku, w którym wystąpił błąd; • getLine() — zwraca nr linii w pliku, w której wystąpił błąd; • getMessage() — zwraca komunikat o błędzie; • getTrace() — Zwraca tablicę zawierającą informacje debugowe (tzw. backtrace); • getTraceAsString() — Zwraca backtrace jako drukowalny ciąg znaków. Aby zdefiniować własną klasę wyjątku wystarczy rozszerzyć klasę Exception lub inną pochodną od niej. class MojNowyWyjatek extends Exception { ... } Obsługa dat Najprostsza funkcja do sprawdzenia poprawności daty to: checkdate($mm, $dd, $rrrr); sama martwi się o ilość dni w danym miesiącu. Aby pobrać aktualny czas wystarczy wywołać metodę time(); Aby skonwertować podany czas / datę, można użyć metody mktime() mktime($h, $min, $s, $mm, $dd, $rrrr, $dst); $dst — day saving time, czyli czas letni (1 - czas letni, 0 - wpp, -1 - daje dowolność decyzji konfiguracji PHP), jest to opcjonalny parametr. Do mktime() można podać także string z zapisem czasu / daty, ale w formacie czytalnym dla PHP. Daty są zapisywane w formacie liczbowym jako liczba milisekund od 1 stycznia 1970 r. tak więc możemy dokonać ich prostego porównania zwykłymi operatorami arytmetycznymi. Możemy także zwiększyć je lub zmniejszyć o konkretną ilość czasu zwykłymi operatorami dodawania i odejmowania. Daty w PHP Aby uzyskać sformatowaną datę wystarczy użyć metody date() do której argumenty określają format wyświetlanej daty. Formatowanie: Dni — d (01-31), D (Mon-Sun), S (amerykańskie sufiksy typu st, nd, rd, th), z (0-365); Tygodnie — W (zwraca numer tygodnia w roku); Miesiące — F (January-December), m (01-12), M (Jan-Dec), n (1-12), t (liczba dni); Lata — L (czy rok przestępny 1|0), Y (eg. 2012), y (eg. 12); Czas — a (am|pm), A (AM|PM), g (godzina 1-12), G (godzina 0-23), h (godzina 01-12), H (godzina 00-23), i (minuty 00-59), s (sekundy 00-59), u (mikrosekundy); Strefy czasowe — e (identyfikator UTC|GMT|etc.), I (czy dst (czas letni)), O (różnica do czasu GMT +0100), P (różnica do GMT z separatorem +01:00), T (skrót nazwy strefy czasowej EST|MDT|etc.), Z (różnica od UTC w sekundach -43200 - 50400); Pełna data — c (zgodne z ISO 8601 2012-12-12T16:19:21+00:00), r (format zgodny z RFC 2822 Thu, 24 Dec 2014 16:01:07 +0100), U (w sekundach od początku Unixa (January 1 1970 00:00:00 GMT)); Dziękuję za uwagę!