Emkacf/dogecoins-faucet — pull request #4 by MacDada (2013-12-29 04:49:09+00:00)
Title: Front controller, bootstrap, konfiguracja, prosty routing, kontrolery stron

Sporo zmian, zastosowanych kilka ciekawych wzorców.

**Bootstrap**
Można tworzyć kolejne strony, kopiuj-wklejkować najczęściej używane elementy, itd, ale po jakimś czasem robi się z tego straszny koszmarek, łatwo zapomina się o różnych rzeczach. Stąd przydaje się plik „uruchomieniowy”, w tym przypadku `bootstrap.php`.

**Front controller**
Jeszcze lepiej pozbyć się wielu „punktów startowych” na rzecz jednego – front controllera – `index.php` – ładuje „framework” (za pomocą bootstrapa) i decyduje co zrobić, żeby obsłużyć wyświetlenie strony na podstawie aktualnego adresu. Co więcej, w przyszłości można zrobić wtedy te „ładne urle”, które nie mają w adresie odwołań do plików.

**Konfiguracja**
Jak sama nazwa wskazuje, powinna przetrzymywać tylko wartości. Inicjalizację klas przeniosłem do `bootstrapa`. Dodatkowo ciekawy bajer pehapowy: `$zmienna = require_once 'plik.php';` pozwala załadować do zmiennej to co zwraca plik.

**Kontrolery**
Kolejny element wzorca [MVC](https://pl.wikipedia.org/wiki/Model-View-Controller).

**Podsumowując**
1. Użytkownik strony zawsze wchodzi pod jeden plik: `index.php`.
2. Ładuje on plik startowy, wykonujący standardowe działania dla każdej strony (`bootstrap.php`).
3. Na podstawie aktualnego adresu URL decyduje jaką akcję uruchomić (czyli jaką stronę zaserwować). Akcja to po prostu funkcja w sekcji „kontrolerów”.
4. Akcja robi co tam chce i ewentualnie wyświetla użytkownikowi jakiś HTML przy pomocy szablonów z sekcji „widoków”.

**BUGFIX**
Robiąc widoki niestety zapomniałem przekazać zmienną z adresem DG. W tym pull requeście jest commit to naprawiający.

**Merge**
Ten pull-request polega na poprzednich: #2 i #3. Ewentualnie możesz puścić merge #4 i poprzednie można wywalić.

Jakby coś było niejasne lub nie działało, daj znać ;)