oop

Wzorzec Pośrednik (Proxy) w PHP

Kolejnym wzorcem projektowym, który omówię jest wzorzec Pośrednik (Proxy). Jest to wzorzec z grupy wzorców behawioralnych. Proxy jest wzorcem, który zastępuje obiekt o tym samym interfejsie i przed otrzymaniem dostępu do obiektu wykonuje się jakaś logika. Do czego może być użyty?

Najpopularniejszym użyciem proxy jest ograniczenie dostępu do kosztownych obiektów do momentu kiedy one są potrzebne. Jest to dość dobrze opisane w Internecie więc pominę to użycie.
Innym przykładem użycia proxy jest zabezpieczenie obiektu przed nieautoryzowanym dostępem.
Kolejna sytuacja kiedy możemy użyć pośrednika to inna reprezentacja obiektu w zależności od określonych warunków, wyobraź sobie, że masz obiekt ProxyRepository i w zależności od pewnych warunków chcesz, aby dane były pobierane albo z MySQL, albo MongoDB. Proxy to umożliwia. ’

Podsumowując Proxy przekierowuje żądania do oryginalnego obiektu wtedy, kiedy powinny być przekierowane, a warunki zależą od typu Proxy. […]

Dlaczego przekonałem się do Symfony2

Podczas swojej kariery programistycznej pracowałem z wieloma róznymi frameworkami w PHP od autorskich po zenda, phalcona, kohane. Obecnie pracuję przy projekcie prowadzonym na Symfony2. Długo nie mogłem się przekonać bo wydawało mi się, że Symfony2 to ogromny framework i będę musiał spędzić dużo czasu na poznanie go. Mając doświadczenia z czytania dokumentacji innych frameworków […]

Polimorfizm i programowanie obiektowe

Wielu z Was zapewne zastanawia się dlaczego programowanie obiektowe jest lepsze. Otóż dzięki OOP(object oriented programming) jesteśmy w stanie w bardziej ludzki sposób modelować świat programistyczny. W poniższym przykładzie postaram się przedstawić mechanizm polimorfizmu i korzyści, które daje nam programowanie obiektowe.

Dla celów wpisu utworzę sobie interfejs IVehicle, który będzie opisywał pojazd, klasę abstrakcyjną samochód, […]

Autor |1 lipca, 2014|PHP, Programowanie obiektowe|2 komentarze

Wzorzec Singleton w PHP

Wzorzec singleton-a przez wiele osób uważany jest jako antywzorzec ponieważ bardzo często jest nadużywany i niektórym osobom zastępuje użycie zmiennych globalnych. Jednakże są sytuacje, w których warto użyć singletona. Na przykład gdy chcemy pobrać połączenie z bazą danych w ciele funkcji, a nie chcemy dodawać kolejnego argumentu do funkcji.

Przykład singletona dla bazy danych:
<?php

class Database
{
private static $instance;

public static function getInstance()
{
if(self::$instance == null) self::$instance = new Database();

return self::$instance;
}

private function __construct Database(){
//polacz z bazą tutaj

}

}
Pierwszą rzeczą która powinna się rzucić w oczy jest prywatny konstruktor. W programowaniu prywatny konstruktor może być użyty tylko wewnątrz klasy, czyli tworzymy obiekt klasy w niej samej. Następnie zwróć uwagę na obiekt $instance oraz na metodę getInstance();

Obiekt $instance służy nam do przechowywania instancji klasy, natomiast metoda getInstance() w przypadku gdy nie ma instancji to tworzy ją, a jeżeli jest to ją zwraca. Słowo static gwarantuje nam to, że w czasie trwania programu/aplikacji będziemy mieli utworzoną wyłącznie jedną instancję klasy Database.

Przykład użycia: […]


Warning: Use of undefined constant XML - assumed 'XML' (this will throw an Error in a future version of PHP) in /wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048