Dla osób, które miały okazję programować w języku JavaScript zapewne nie będzie to żadna nowość. Niemniej jednak od wersji PHP 5.3, otrzymaliśmy możliwość korzystania z funkcji anonimowych. W tym krótkim wpisie chciałbym wytłumaczyć zasadę ich działania w oparciu o kilka przykładów. czytaj całość »
Dekorator to wzorzec projektowy, który z wykorzystaniem kompozycji obiektów, pozwala na dynamiczne dołączanie do klas nowych funkcjonalności. Składa się z obiektu dekorowanego i dekoratorów. Obiekt dekorowany to instancja klasy, którą zamierzamy wzbogacić o dodatkowe zadania. Dekoratory implementują nowe zachowania, aby na końcu delegować wykonanie konkretnych operacji do obiektu dekorowanego. czytaj całość »
Pojęcie asercji wiąże się ściśle z etapem testowania napisanego kodu. Zazwyczaj przyjmuje formę wyrażenia logicznego, które zwraca albo prawdę albo fałsz. Stanowi więc doskonałe narzędzie, dzięki któremu możemy w prosty sposób, wychwycić błędy w pisanych aplikacjach. W PHP dostęp do asercji umożliwiają dwie funkcje assert() i assert_options() czytaj całość »
Być może nie wiecie, ale w PHP 5 istnieje świetna alternatywa dla funkcji opendir(),readdir() czy też scandir().Przedstawiam zatem obiektowy sposób poruszania się po katalogach systemu plików. czytaj całość »
Przyszedł czas na zapoznanie się z kolejnym design pattern’em. Dlaczego właściwie fasada? Jednym z powodów może być fakt, iż często mylony jest lub utożsamiany ze wzorcem adapter, o którym już wcześniej pisałem parę słów. czytaj całość »
Oprócz implementacji funkcji magicznych __sleep() i __wakeup() istnieje alternatywne rozwiązanie, pozwalające przejąć kontrolę nad serializacją obiektów. Mowa o interfejsie Serializable. czytaj całość »
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. czytaj całość »
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. czytaj całość »
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. czytaj całość »
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. czytaj całość »