Wzorzec projektowy Property służy do przechowywania i udostępniania danych konfiguracyjnych programu. Zastępuje zmienne globalne i ma podobne zastosowanie jak wzorzec Singleton. W przypadku wzorca Property dane przechowywane są w statycznej tablicy. Do ich ustawiania i pobierania służą statyczne metody set() i get().
PRZYKŁAD IMPLEMENTACJI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php // Config.php // Property class Config { private static $data = array(); public static function set($name, $value) { self::$data[$name] = $value; } public static function get($name) { return self::$data[$name]; } } |
Użycie wzorca w obrębie aplikacji:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php // test.php spl_autoload_register(function ($class) { include $class . '.php'; }); // Przykładowe ustawienia aplikacji: Config::set('LANG','en'); Config::set('WEBSITE_URL','example.com'); // Wyświetlenie danych: echo '<p>'.Config::get('LANG').'</p>'; echo '<p>'.Config::get('WEBSITE_URL').'</p>'; // ... |
WZORCE PROJEKTOWE
Wzorce kreacyjne
Wzorce strukturalne
- Adapter
- Dekorator (Decorator)
- Fasada (Facade)
- Płynny interfejs (Fluent Interface)
- Pełnomocnik (Proxy)
Wzorce czynnościowe
- Metoda szablonowa (Template Method)
- Obserwator (Observer)
- Stan (State)
- Strategia (Strategy)
- Wstrzykiwanie zależności (Dependency Injection)