Geocode reverse

Mapy google są coraz popularniejsze w internecie. Ich dokumentacje można znaleźć pod adresem: http://www.google.com/apis/maps/documentation/

Niestety w dokumentacji tej brakuje bardzo przydatnej funkcji – otrzymywania nazwy miejscowości, gdy znane są współrzędne geograficzne. Na szczęście są możliwości rozwiązania tego problemu.

Opcja ta nazywa się geocode reverse i jest udostępniana przez różne firmy np. http://ws.geonames.org/findNearbyPlaceName?lat=52&lng=20&maxRows=1

Czytaj dalej Geocode reverse

„Silne typy” w PHP

PHP jeszcze do niedawna nie miał wcale kontroli typów, teraz to się już trochę zmieniło. Ja jednak uważam, że dla języka skryptowego, który nie jest kompilowany są lepsze sposoby na „wymuszenie” typu niż podawanie go jawnie. Jak? Zapraszam do lektury.

Na początek

Problem z typami

PHP jak to język skryptowy nie posiada silnej typizacji. Do zmiennej można przypisać cokolwiek i nie powoduje to błędu. To, że nie powoduje to błędu składniowego to dobrze. Ale co z logiką. przykładowy kod:

Czytaj dalej „Silne typy” w PHP

Książka „Smarty. Szablony w aplikacjach PHP”

Okładka Smarty Każda większa witryna potrzebuje wsparcia nowoczesnych technologii. Dzisiejsze realia sprawiają, że strony należy tworzyć modułowo, tak by za każdy fragment projektu, mogły odpowiadać inne osoby. I tym sposobem należy całkowicie oddzielić zadania projektanta strony, od programisty. Szablony Smarty pozwalają to zrobić tak jak CSS+XHTML pozwalają oddzielić strukturę strony (XHTML) od opisu wyglądu (CSS).

Czytaj dalej Książka „Smarty. Szablony w aplikacjach PHP”

Książka: „Wzorce projektowe (…)”

Okładka Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku

Olbrzymia większość języków programistycznych wspiera obiektowość lub też nie potrafi bez niej żyć. nic więc dziwnego, że rynek wydawniczy tak ochoczo reaguje na zmiany trendów wśród programistów.

Każdy dobry programista wie, że jego cnotą jest lenistwo. Lenistwo objawiające się taką pracą, aby później nie trzeba było zbyt wiele robić. Każdy dobry programista wie, że lepiej jest wykorzystać znane sposoby rozwiązania, niż samemu wymyślać koło na nowo.

I w końcu, coraz więcej programistów uważa, że warto używać wzorców projektowych. Wzorce projektowe są to przepisy, pewne metoda rozwiązania problemu. Nie jest to gotowy kod. Jedynie pomysł na rozwiązanie jakiegoś częstego zagadnienia. Czytaj dalej Książka: „Wzorce projektowe (…)”

„Przeciążanie” konstruktora

Ktoś się może nawet oburzy, że o czym ja tu piszę. Przecież w PHP nie ma przeciążania znanego z C / Javy. Istnieje co prawda coś, co jest nazywane „przeciążaniem„, jednak działa na innej zasadzie. Ja jednak nie znalazłem innej nazwy. No może „statyczne przeciążanie konstruktora”. Zaraz postaram się wyjaśnić, o co mi chodzi.

Na początek

  • podstawowa wiedza o PHP5 (konstruktory, pola statyczne)
  • serwer www (może być lokalny, np. WAMP)

Zwykła klasa

Oto kod zwykłej klasy, która obudowuje funkcję fopen:
Czytaj dalej „Przeciążanie” konstruktora

Czytelne instrukcje warunkowe

Prosta instrukcja `if’ czy `switch’. No przecież tu nie da się zrobić niczego lepiej. No, niekoniecznie. Da radę i zaraz to pokażę.
Przykłady będą w PHP, ale odnosi się do większości języków.

Instrukcja if

Myślę, że nie potrzebuje zbyt długo tłumaczyć jak działa if. Ale chciałbym pokazać, co można zrobić, aby był czytelniejszy. Pamiętaj – kod pisze się raz, a czyta wiele razy. Warto zatem odpowiednio go napisać.

Czytaj dalej Czytelne instrukcje warunkowe

Walidacja danych w klasie wyjątku

Bardzo często jakiś wyjątek jest rzucany za każdym razem tak samo. Mam na myśli identyczną konstrukcję warunkową. Czy nie lepiej jest wtedy przenieść logiki do klasy wyjątku, skoro tak bardzo jest z nią „zżyta”. Oto moje rozwiązanie.

Na początek

Prosty kod

Zobaczmy kod, który na pewno często można spotkać:
Czytaj dalej Walidacja danych w klasie wyjątku