Logowanie z użyciem dekoratorów (np. dodawanie informacji o czasie wykonania)

Założenie: Stworzymy prosty logger, który będzie rejestrował komunikaty. Następnie za pomocą dekoratora dodamy funkcjonalność mierzenia czasu wykonania i dodawania tej informacji do logowanego komunikatu.

Krok po kroku:

  1. Stworzenie podstawowego loggera:
  2. 
    
    				

    Ten prosty logger wyświetla przekazany komunikat na ekranie.

  3. Implementacja dekoratora:
  4. 
    logger = $logger;
        }
    
        public function log($message) {
            $startTime = microtime(true);
            $this->logger->log($message);
            $endTime = microtime(true);
            $executionTime = $endTime - $startTime;
            echo "Czas wykonania: " . $executionTime . " sekund\n";
        }
    }
    ?>
    				

    Dekorator owija istniejący logger i dodaje funkcjonalność mierzenia czasu.

  5. Użycie dekoratora:
  6. 
    log("Użytkownik zalogował się.");
    ?>
    				

    Tutaj tworzymy instancję loggera i dekoratora, a następnie używamy dekoratora do logowania komunikatu. Wyświetli on komunikat i czas jego wykonania.

Ten przykład pokazuje podstawowe zastosowanie dekoratorów w PHP do rozszerzania funkcjonalności istniejących klas. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi wzorcami projektowymi!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *