Obsluga daty i czasu w PHP: klasa `\DateTime`

Niedawno zaczalem serie wpisow o dzialaniach na dacie i czasie w PHP. Po omowieniu podstawowej funkcji `date` przyszedl czas na cos bardziej wyrachowanego – klase `\DateTime`. Chcialbym powiedziec, ze rozwiazano wszystkie problemy. Niestety tak dobrze nie bedzie. Planuje pokazac nie tylko jak uzywac tej klasy, ale rowniez, jak uzywac jej bezpiecznie. Tradycyjnie przeciez cos bedzie dzialac nie do konca tak, jak bysmy oczekiwali.

Czytaj dalej Obsluga daty i czasu w PHP: klasa `\DateTime`

Zend/PHP: Dlaczego stosowanie view modeli jest dobre

Chcialbym w tym wpisie pokazac, co zrobic, aby kod kontrolerow i plikow widoku byl przyjemniejszy w czytaniu i prostszy w utrzymaniu. Dodatkowo, za darmo uda sie nam zyskac duzo prostszy do testowania kod! Na co czekac? Zaczynajmy!

Na poczatek warto wiedziec:

  • Podstawy PHP,
  • Swiadomosc istnienia MVC,
  • Posiadanie zdrowego rozsadku i instynktu samozachowawczego.

Czytaj dalej Zend/PHP: Dlaczego stosowanie view modeli jest dobre

Ksiazka: Wzorzec MVC w PHP dla profesjonalistów

Wzorzec MVC w PHP dla profesjonalistówWzorzec MVC w PHP dla profesjonalistów

Wzorzec MVC na dobre zagoscil we wszelakich projektach informatycznych. Pozwala na rozsadny podzial na warstwy i oddzielenie logiki od danych, a takze kodu robiacego cokolwiek „na serwerze” od kodu wyswietlajacego np. strone internetowa.

Chris Pitt bardzo starannie opisuje kolejno, co trzeba napisac (i w tracie ksiazki sam pisze pokazujac czytelnikowi wszystkie kroki), aby stworzyc wlasny framework PHP implementujacy wzorzec MVC.

Czytaj dalej Ksiazka: Wzorzec MVC w PHP dla profesjonalistów

Dijit.Tree i lazy loading

Lazy loading (z ang. późne ładowanie danych – w wolnym tłumaczeniu) pozwala na pobranie do aplikacji z serwera tylko tych danych, które są nam aktualnie niezbędne. Takie podejście oszczędza pamięć i łącze (rzadko kiedy potrzebujemy wczytać cały zbiór danych). Niestety jednocześnie sprawia, że mamy więcej połączeń do serwera – każde zwraca kolejną małą porcję danych.

Chciałbym zaprezentować możliwości lazy loadingu w Dojo Toolkit.

Na początek

Czytaj dalej Dijit.Tree i lazy loading

Książka: „Programowanie obiektowe w PHP 5”

Okładka Programowanie obiektowe w PHP 5

PHP jest bardzo przyjaznym i popularnym językiem. Jego popularność bierze się w głównej mierze z prostoty. Właśnie – prostoty, a nie prostactwa.

PHP, szczególnie w wersji 5, jest naprawdę pełnoprawnym językiem programowania, pozwalającym na tworzenie dużych i skomplikowanych projektów. Książka Hasina Haydera próbuje pokazać możliwości piątej odsłony języka w zakresie OOP (programowania zorientowanego obiektowo).

W książce spodobał mi się układ. Czytając miałem wrażenie, że tworzy ona całość. Tematy jakby wynikały jeden z drugiego. Pozycja nie jest zbyt obszerna (treści < 250 stron) i czyta się ją szybko i sprawnie. Tekst okraszony został sporą ilością kodu prezentującego aktuanie omawiane aspekty, co także przemawia na korzyść książki.

Ucieszyło mnie także, że jeden rozdział został poświęcony testom jednostkowym, co uważam za bardzo poprawne w nauczaniu „nowego pokolenia” programistów. Czytaj dalej Książka: „Programowanie obiektowe w PHP 5”

Zmiana kodowania znaków w Ajax

Ajax odczytuje dane z serwera. Dane te są przesyłane jako ciąg znaków (czy też XML, który ostatecznie też jest ciągiem znaków). Znaki są w komputerze reprezentowane przez liczby. Podstawowy zestaw znaków (alfabet angielski, cyfry, znaki specjalne) są zakodowane wg (chyba) ogólnie uznawanego standardu ASCII. Jest to 7-mio bitowy kod, przyporządkowujący liczby z zakresu <0, 127> literom (alfabetu angielskiego), cyfrom, znakom przestankowym i innym symbolom oraz poleceniom sterującym. Przykładowo znak cyfry „1” ma wartość 49, „2” ma wartość 50, itd. Litery (wielkie) zaczynają się od „A” – liczba 65, konsekwentnie „B” = 66, …, „Z” = 90, „a” = 97. Stąd właśnie różnica dla komputera między „a” oraz „A”. Problem z kodowaniem pojawia się dla nietypowych znaków, np. „ą”, „Ś”, „ź”, itp. znaków diakrytycznych.

Poniższy artykuł będzie o tym, jak obejść problem z różnym kodowaniem liter w przypadku odczytywania danych z serwera za pomocą Ajaksa.

Czytaj dalej Zmiana kodowania znaków w Ajax