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ę!