Klasa Cache

Klasa Cache znajduje się w module include/cache.php natomiast instancja klasy tworzona jest w module common.php. Jak łatwo się domyśleć, klasa służy do przechowywania tymczasowych danych, co ma na celu poprawienie prędkości generowania danych. Dane w cache'u znajdują się w pliku cache_data.php w katalogu cache/.

Przykład użycia tej klasy znajduje się w module session.php. Odczytujemy tam nazwy robotów sieciowych oraz ich IP z tabeli coyote_bot. Wiadomo iż dane w tej tabeli nie zmieniają się często, a skrypt session.php wywoływany jest za każdym żądaniem strony. Aby zaoszczędzić na jednym zapytaniu, dane raz zwrócone przez zapytanie, można umeiścić w pamięci podręcznej. Kazde kolejne uruchomienie strony spowoduje odczytanie tablicy z cache.

Właściwości klasy Cache

  • $var. Tablica asocjacyjna, przechowuje dane umieszczone w cache w postaci klucz => wartość.
  • $modified. Właściwość określa czy dane w cache zostały zmodyfikowane. Właściwość wykorzystywana między innymi podczas zapisu danych do pliku.

Metody klasy Cache

function cache()

Konstruktor klasy. Sprawda, czy plik z danymi (cache_data.php znajduje się w katalogu cache/. Jeżeli tak - następuje właczenie go do projektu, korzystając z instrukcji include_once().

function get($var_name)

Funkcja na podstawie nazwy klucza ($var_name) pobiera, a następnie zwraca, dane znajdujące się w tablicy $var.

function put($var_name, $data)

Funkcja umieszcza nowy element w tablicy $var. Parametry $var_name oraz $data stanowią nazwę klucza oraz dane, które maja zostać umieszczone w tablicy. Funkcja dodatkowo zmienia wartość właściwości $modified na true.

function destroy($var_name)

Na podstawie nazwy klucza ($var_name) funkcja usuwa dane z tablicy $var. Funkcja dodatkowo zmienia wartość właściwości $modified na true.

function save()

Funkcja dokonuje zapisu danych z tablicy $var do pliku o nazwie cache_data.php. Dane znajdującie się w pliku zapisane są w formie kodu PHP, dlatego informacje zawarte w tablicy $var muszą ulec obróbce (odpowiada za to funkcja format_array.

function format_array($array)

Funkcja zwraca ciąg (string) który zgodny jest ze składnią języka PHP. Zadaniem funkcji jest odpowiednie sformatowanie takiego ciągu na podstawie elementów tablicy $array. Przykładowo, jeżeli element jest łańcuchem, należy na jego początku i końcu, umieścić apostrofy.

function exists($var_name)

Funkcja sprawdza czy klucz o podanej nazwie znajduje się w tablicy $var.