Instalacja i konfiguracja
Czas na 3 krok naszego kursu. Zajmiemy się instalacją i podstawową konfiguracją Kohany. Nie są to zbyt skomplikowane czynności, ale warto wiedzieć o kilku szczegółach by uniknąć błędów.
Gdzie rośnie Kohana?
Po najnowszą paczkę Kohany udajemy się na oficjalną stronę do działu Download, gdzie możemy wybrać interesujące nas składniki.
Do dyspozycji mamy 5 modułów:
- Archive – do zarządzania archiwami zip, tar, gzip i bzip
- Auth – do uwierzytaelniania i zarządzania użytkownikami (używa biblioteki ORM)
- Gmaps – do szybkich i bezbolesnych zabaw z Google Maps
- Kodoc – do generowania dokumentacji
- Payment – do obsługi płatności (z istotniejszych jest tu PayPal, natomiast brak jakiegokolwiek wsparcia polskich systemów płatności)
Mamy też narzędzia Markdown (do obsługi i konwersji znaczników zgodnie z przyjętymi zasadami) i SwiftMailer (do zaawansowanej obsługi maili), a także spory wybór języków.
W naszych przykładach będziemy korzystać z modułu Auth, narzędzia SwiftMailer i języka polskiego.
Instalacja
W przypadku Kohany jest to czynność dziecinnie prosta. Wystarczy rozpakować pobraną paczkę do wybranego katalogu (dla nas będzie to katalog o finezyjnej nazwie “kohana”). Oto jak powinna wyglądać jego zawartość:
Po uprzednim zapoznaniu się z licencją możemy się jej pozbyć, tak samo jak loga Kohany, gdyż w praktyce się nam nie przydadzą.
Plik "install.php" jest absolutną nowością (przed wersją 2.3 nie było takich frykasów). Wprawdzie jest to najzwyklejszy test sprawdzający czy posiadamy wszystkie niezbędne do uruchomienia Kohany składniki, ale cieszy. Oczywiście po pomyślnym zakończeniu testu zostaniemy poproszeni o jego usunięcie lub zmianę nazwy (kolejne testy możemy sobie darować, więc może podzielić los licencji i loga).
.htaccess, czyli przyjazne linki i nie tylko
W katalogu z Kohaną znajdziemy plik "example.htaccess", który w zasadzie jest gotowy do użycia (oczywiście po zmianie nazwy na ".htaccess" i usunięciu z niego wiersza z “RewriteBase /kohana/” lub jego zmianie na “RewriteBase /“).
Podstawowa konfiguracja
Wszystkie pliki odpowiedzialne za konfiguracje znajdują się w katalogu "application/config/", który na początku, choć wygląda skromnie, ma wszystko czego nam potrzeba, czyli główny plik konfiguracyjny "config.php".
Z najciekawszych rzeczy jakie można w nim skonfigurować warto wymienić:
-
site_domain– główna ścieżka do strony -
index_page– nazwa pliku odpowiedzialnego za działanie aplikacji. Domyślnie jest to"index.php", ale jeśli chcemy mieć ładne linki, to zmieniamy jego wartość na pustą -
url_suffix– rozszerzenie plików dodawane do generowanych adresów. Domyślnie puste, ale możemy mu nadać dowolną wartość, np.:".html" -
internal_cache– okres czasu (w sekundach) przez jaki ma być cache’owana konfiguracja Kohany -
enable_hooks– zarządzanie hakami (nimi zajmiemy się w niedalekiej przyszłości). Możemy je wyłączyć (wartość"FALSE"), włączyć wszystkie ("TRUE") lub włączyć wybrane (tablica z nazwami haków) -
modules– zarządzanie modułami. Wystarczy odkomentować wybrane moduły lub dodać swoje własne (oczywiście wszystkie muszą się znajdować w katalogu"modules/")
Co jeszcze można skonfigurować?
Wszystko, serio
W katalogu "system/config/" znajdują się wszystkie dostępne pliki konfiguracyjne używane przez Kohanę. Z poprzedniego artykułu wiecie, że najważniejsze są pliki z katalogu "application/", następnie z modułów, a na końcu z katalogu "system/", więc zamiast grzebać w domyślnych plikach konfiguracyjnych kopiujemy wybrane do katalogu "application/config/" i tam je można edytować. Zmiany w katalogu "system/*" są niewskazane.
Oczywiście Kohana nie ogranicza nas tylko do używania jej plików konfiguracyjnych, ale pozwala nam na tworzenie własnych (więcej szczegółów trochę niżej).
Routing, czyli skąd i dokąd
Kohana zapewnia nam następujące mapowanie linków:
1 | naszastrona.pl/klasa/funkcja/parametr1/parametr2/.../parametr-n |
gdzie klasa to nazwa kontrolera, funkcja to nazwa wybranej funkcji, a kolejne segmenty to przekazywane parametry. Dzięki routingowi możemy otrzymać niemal dowolne linki.
Za konfigurację routingu odpowiada plik "routes.php", który początkowo zawiera jeden wpis:
1 | $config['_default'] = 'welcome'; |
czyli jako domyślny ustawiony jest kontroler “welcome”.
Oczywiście możemy definiować własne trasy:
1 2 3 4 5 6 7 8 | // dla adresu 'naszastrona.pl/o_firmie' uruchamiamy domyślną metodę 'index' z kontrolera 'info' $config['o_firmie'] = 'info'; // dla adresu 'naszastrona.pl/kontakt' uruchamiamy metodę 'kontakt' z kontrolera 'info' $config['kontakt'] = 'info/kontakt'; // dla adresu 'naszastrona.pl/produkt/13' uruchamiamy z parametrem '13' metodę 'pokaz' z kontrolera 'produkty' $config['produkt/([0-9]+)'] = 'produkty/pokaz/$1'; |
Najważniejsze pliki konfiguracyjne
database.php – ustawienia połączenia z bazą danych. Najważniejsze z nich:
-
connection['user']– nazwa użytkownika bazy -
connection['pass']– hasło użytkownika bazy -
connection['host']– host -
connection['database']– nazwa bazy -
connection['character_set']– system kodowania znaków
cookie.php – ustawienia ciastek. Najważniejsze z nich:
-
domain– domena, dla której dostępne są ciastka. Domyślnie puste – każda strona może odczytać zawartość tych ciastek -
expire– długość życia ciastka (w sekundach). Domyślnie 0 – do zamknięcia przeglądarki
locale.php – ustawienia lokalizacji:
-
language– język strony. Pierwszym elementem tablicy musi być nazwa katalogu (i równocześnie symbolem języka w i18n) z plikami językowymi. Dla naszych przykładów będzie to:pl_PL. Kolejne elementy są alternatywą dla systemów nie obsługujących i18n. Więcej na: php.net/setlocale -
timezone– strefa czasowa. Domyślnie pusta – używamy strefy czasowej serwera. Więcej na: php.net/timezones
pagination.php – ustawienia stronicowania. Najważniejsze z nich:
-
uri_segment– numer lub nazwa segmentu z numerem aktualnej strony -
items_per_page– liczba elementów wyświetlanych na jednej stronie
session.php – ustawienia sesji. Najważniejsze z nich:
-
driver– sterownik sesji. Do wyboru: “cookie”, “database”, “native” lub “cache” -
name– nazwa sesji -
validate– tablica parametrów do walidacji. Do wyboru: “user_agent”, “ip_address” i “expiration” -
expiration– długość życia sesji (w sekundach)
Własne pliki konfiguracyjne
Jak już wcześniej wspomniałem Kohana daje nam możliwość używania własnych plików konfiguracyjnych. Dla przykładu stwórzmy w katalogu "application/config/" plik "konfiguracja.php":
1 2 | $config['parametr1'] = 'wartosc1'; $config['parametr2'] = 'wartosc2'; |
Możemy wczytać do tablicy cały plik:
1 | $konfiguracja = Kohana::config_load('konfiguracja'); |
lub odczytać wybrany parametr:
1 | $parametr = Kohana::config('konfiguracja.parametr2'); |
