W PHP 5 pojawił się rozbudowany Reflection API, który umożliwia uzyskiwanie szczegółowych informacji na temat klas (ich właściwości oraz metod), funkcji i interfejsów. Dzięki niemu możemy na przykład, utworzyć system wtyczek dla naszej aplikacji. Zobaczmy więc z czego się ów API składa: class Reflection { } interface Reflector { } class ReflectionException extends Exception { } class ReflectionFunction extends...
Więcej„perełki” php
W tym krótkim wpisie chciałbym zaprezentować Wam parę ciekawostek związanych z językiem PHP. Pomimo faktu, iż programuje w nim już dość długi okres czasu, to nadal potrafi mnie czymś zaskoczyć. Zatem zapraszam do lektury. ciekawostka numer 1 Na pierwszy rzut oka poniższy skrypt nie jest poprawny i wydawać się może, że jedynym wynikiem jego wykonania powinien być komunikat błędu – a tu niespodzianka. ODRADZAM...
Więcejwzorzec adapter
Cżesto mamy w domu jakiś kabel. Jednak korzystanie z niego jest niemożliwe, bez posiadania odpowiedniej przejściówki. W programowaniu obiektowym zdarzają się podobne sytuacje, ale na poziomie interfejsów. Czasami daną klasę musimy „przystosować” do warunków, w których będzie używana. Najłatwiej będzie to zrozumieć na prostym przykładzie. Załóżmy więc, że nad kodem naszej strony internetowej pracował...
Więcejsmarty i gettext
W nawiązaniu do mojego poprzedniego wpisu wyjaśnię w jaki sposób korzystać z gettext’a w szablonach Smarty. Choć na pierwszy rzut oka wydaje się, że będziemy musieli włożyć sporo pracy, by uzyskać efekt końcowy, to w rzeczywistości okaże się to dużo prostsze. raz, dwa,trzy gotowe! Na początku ściągamy sobie Smarty. Aby użyć gettext’a potrzebna nam będzie odpowiednia wtyczka – możecie ją znaleźć...
Więceji18n z użyciem gettext
Niekiedy zdarza się sytuacja, w której aplikacja webowa będzie dostępna w kilku językach. Proponowane przeze mnie rozwiązanie pozwoli nam, w łatwy sposób opracować wiele wersji narodowych naszego oprogramowania. wymagania Na samym początku musimy sprawdzić, czy php może korzystać z rozszerzenia gettext. Dokonamy tego poprzez wykonanie poniższego skryptu: phpinfo(); Kolejnym punktem jest pobranie oprogramowania gettext....
Więcejobsługa błędów w PHP cz.2
Przyszedł czas pogłębić wiedzę na temat obsługi błędów w PHP. Tym razem spróbujemy przejąć nad nimi całkowitą kontrolę. Pomocna nam będzie funkcja set_error_handler(). Zatem do dzieła. własny mechanizm obsługi błędów Niestety nie wszystkie rodzaje error’ów możemy obsłużyć samodzielnie. Poniżej lista tych, których się nie...
Więcejobsługa błędów w PHP cz.1
Błędy są nieodzownym elementem programowania. Poświęcamy im dość dużą ilość czasu, starając się skutecznie je eliminować. Programista zdaje sobie sprawę, że dobre oprogramowanie powinno cechować się sprawną obsługą wszelkich error’ów. Poznajmy więc błędy, które możemy napotkać, pisząc skrypty PHP. lista błędów php...
Więcej

Cecha to funkcjonalność, która została stworzona, z myślą o tych wszystkich programistach, którym bardzo brakuje możliwości oferowanych przez mechanizm wielokrotnego dziedziczenia. Może się bowiem zdarzyć sytuacja, w której implementowana klasa powinna dziedziczyć, nie po jednej, a po większej ilości klas. Dotychczas...
Tym razem zwięźle i lapidarnie na temat virtual proxy. Na początku warto wspomnieć, iż należy on do grupy wzorców strukturalnych i jest przedstawicielem licznej rodziny proxy. W języku polskim określenie to najczęściej tłumaczy się jako pośrednik lub pełnomocnik. Familia proxy skupia się na tworzeniu obiektu, którego zadaniem...
Facebook jest największym serwisem społecznościowym na świecie. Posiada on ogromną ilość aplikacji i gier, które swój żywot zawdzięczają facebook API. We wpisie tym, dokładnie krok po kroku pokażę, jak napisać prostą aplikację z jego użyciem.
1. Rejestracja
Choć wydaje się to banalne, to jest to warunek konieczny. Zatem...
Wpisem tym powracam do tematyki design patterns. Tym razem postaram się wyjaśnić czym jest bridge i w jakich okolicznościach jego użycie może się okazać niezbędne. Jeśli miałbym scharakteryzować most w jednym zdaniu, zapewne przybrałoby ono następującą formę:
Jest to wzorzec strukturalny, a jego głównym zadaniem jest...