Pierwsze 3 linie dołączają 3 zewnętrzne pliki o nazwie:
general.php
homepage.php
product.php
Następnie if() sprawdza (co?) i uruchamia funkcję checkRout z parametrem 'products/add'.
Zostaje wywołany obiekt słowem kluczowym new.
Zostaje wyświetlony ten obiekt.
Jeśli 1. if() się nie sprawdził to wykonuje się 2. elseif sprawdzając jaki parametr
został ustawiony, został nim ('products/index').
Następnie zostaje wywołany obiekt oraz w nastepnej linijce zostaje wypisany.
Else w przeciwnym wypadku wywołaj/utwórz obiekt (klasę) Homepage{}
i wyświetl z niego funkcję/metodę index().
Na samym końcu jest tworzona funkcja o nazwie checkRout o typie string (wartość tekstowa, łańcuch
znaków).
Funkcja ta zwraca funkcją strpos pozycję wystąpienia nazwy $_SERVER['REQUEST_URI'], czyli
nazwę pliku na którym przebywasz np.: z hosta o takie nazwie:
http://localhost/dir/file.php
zwróci file.php.
Funkcja ta będzie szukać wystąpień tego string'a, który jest podany jako parametr
strpos
,czyli jeżeli $_SERVER['REQUEST_URI'] zwroci ci nazwę file.php, a w parametrze
$route podasz np. literkę "i", to funkcja zwróci ci
wartość: 1 ponieważ "i" stoi na 2. miejscu, a liczymy od zera.
W pliku: general:
W 1. linii jest tworzona klasa General.
Następnie jest tworzona statyczna prywatna zmienna o nazwie $data.
Nastepnie 2. zmienne publiczne dostępne są dla wszystkich, czyli
$post i $files.
Dalej jest funkcja zwykła (publiczna) w tym wypadku __construct (konstruktor)
{
Odwołuje się do zmiennej $post, czyli jeśli $post = 10,
a $this->post = $_POST, znaczy to tyle, że teraz wewnątrz konstruktora
zmienna tak jakby $post jest równa = $_POST.
Tak samo linia niżej analogicznie do powyższego.
}
Dalej jest publiczna funkcja getData przyjmująca 0 parametrów (0 zmiennych, czy np. stałych).
Zwraca ona (operatorem zasięgu)? z klasy General zmienną statyczną, prywatną wartość $data.
Dalej funkcja publiczna dostępna dla wszystkich o nazwie render przyjmuje jako parametry
(zmienną typu string) o nazwie $pathToFile oraz tablicę o nazwie $data.
Dalej jest. Jeśli (nie jest pusta) zmienna $data to wykonaj kod poniżej, czyli:
klasa General operator zasięgu równy zmiennej $data.
require wywołuje ci coś o nazwie zmiennej ($pathtofile),
dalej jest tworzona kolejna publiczna zmienna o nazwie getconnection (pobierz połączenie) bez
zmiennych (parametrów).
Dalej jest tworzona tablica o nazwie $configDB równa:
(
'servername' (nazwa servera) => '666.0.0.1:2206',
'username' (nazwa użytkownika) => 'root',
'passoword ' (hasło) = 'lol29',
'baseName' (nazwa bazy) = > 'shop'
);
Dalej jest zmienna $conn, która po znaku równa się słówkiem new tworzy obiekty do których później
się można odwołać.
Za zmienną tablicową $configDB['servername'] podstawia sobie 666.0.0.1:2206, a
za zmienną tablicową aconfigdb['username'] - root, itd..
Dalej jeśli połączenie jest nieudane $conn->connect_error to
zwróć błąd słówkiem kluczowym die: Połączenie nieudane. Błąd...
Po słowie błąd jest wyświetlany $conn->connect_error to znaczy, że
wywołujemy numer błędu jaki wystąpił może to być np. bląd o złym połączeniu z bazą danych,
np. nieprawidłowa nazwa, czy coś takiego.
Na samym końcu funkcja getconnection zwraca $conn, czyli połączenie.
Dalej funkcja is_post() sprawdza, czy czasem nie jest pusta zmienna $this->post,
czyli czy $zmienna $post nie jest pusta. Jeśli nie jest pusta zwróć true, a
jeśli jest pusta (w przeciwnym razie) zwróć false.
Na samiutkim końcu klasy General znajduje się funkcja redirect (przekierowanie), która
za parametr przyjmuje 1. zmienną o nazwie $destiny.
Słowkiem header zostaje przekierowany na stronę o takim linku w tym co podasz za parametr funkcji.