Z wielu frameworków dla języka PHP wyłonić możemy świeży jeszcze projekt jakim jest Kohana PHP. Wykształcił się on ze znanego dobrze w światku programistów PHP CodeInitera, który przestał nadążać za stosunkowo szybko rozwijającym się językiem. Czym więc różnią się te dwa frameworki? Większych zmian jest kilka, ale za to radykalnych. Najważniejszą z nich jest pełna kompatybilność za PHP5 rezygnując zupełnie z wspierania PHP4. Jest to zdecydowany krok w stronę większej wydajności oraz subtelne wymuszenie przygotowywania programistów do zbliżającego się PHP6. Drugą zmianą jest pełna kompatybilność z kodowaniem UTF-8, z którym problemy miał CodeIgniter, a który staje się standardem. Do tego wszystkiego dochodzi znacznie podniesione bezpieczeństwo skryptów bazowanych na tymże frameworku. W tym wpisie przedstawię instalację i wstępną konfigurację tego frameworka.
Skąd pobrać?
Kohanę można znaleźć na polskiej witrynie autorów pod adresem http://kohanaphp.pl/. W zakładce "Pobierz" znajdziemy narzędzie do wyboru składników frameworka, które mamy zamiar używać. Lista zawiera moduły (4), dodatkowe narzędzia (3) i języki (6, w tym język Polski). Jeżeli chcemy sprawdzić w całości co oferuje Kohana możemy zaznaczyć wszystkie moduły i dodatkowe narzędzia. Język według uznania. Ostatecznie klikamy przycisk "Pobierz Kohanę!". Zapisujemy archiwum na dysku.
Środowisko pracy
Kohana nie ma zbyt wygórowanych wymagań co do serwera na jakim pracuje, jednak należy pamiętać o dwóch rzeczach. To o czym wspomniałem już na początku, Kohana nie akceptuje wersji PHP niższej niż 5, a konkretnie 5.1.3. Musi też działać na serwerze obsługującym w pełni kodowanie UTF-8 (PCRE, SPL). Dotyczy to także konfiguracji PHP (wymagane funkcje iconv() i mcrypt()). Jak autorzy podkreślają Kohana powinna działać na dowolnej aplikacji serwerowej. Wiadomo, że na pewno działa na serwerach Apache 1.3, Apache 2.0, lighttpd i Microsoft IIS.
Instalacja
Przygotowanie Kohany do działania jest bardzo proste. Wszystko dlatego, że jej autorzy chcieli uczynić ją jak najbardziej przenośną. Przechodzimy do głównego katalogu naszego serwera HTTP. Tworzymy tam katalog "kohana" (lub dowolny inny, według uznania). W nim znajdzie się nasza instalacja Kohany. Rozpakowujemy zawartość katalogu znajdującego się w pobranym archiwum ZIP do katalogu, który utworzyliśmy przed chwilą. To mogłoby być na tyle. Możemy sprawdzić, czy nasza Kohana już działa przechodząc pod adres naszego serwera i katalog, w którym zainstalowaliśmy Kohanę. Powinniśmy otrzymać stronę taką jak na ilustracji:

Jeżeli wszystko wygląda w porządku Twoja nowa instalacja Kohany jest gotowa do działania. Od teraz możesz zacząć pisać aplikację.
Konfiguracja
Kohana jest bardzo lekkim frameworkiem, lecz posiada bardzo duże możliwości konfiguracyjne. Omówię tutaj tylko podstawowy plik konfiguracyjny, z którego korzysta cały framework. Jest to plik /application/config/config.php. Otwórz go w swoim ulubionym edytorze. Pierwszą rzeczą, którą powinniśmy zrobić to ustawienie adresu URL pod jakim znajduje się instalacja Kohany. Adres ten znajduje się w zmiennej $config['site_domain'] i domyślnie jest to "localhost/kohana/". Jeżeli nie uruchamiamy Kohany na lokalnym serwerze lub uruchamiamy ją w innym katalogu powinniśmy zmienić jej zawartość. Jeżeli będziemy chcieli korzystać z połączenia szyfrowanego SSL przyda się ustawienie protokołu "https" w zmiennej $config['site_protocol']. Dzięki temu tworzone linki będą go od razu zawierały. Kohana obsługuje kompresję wyjścia GZIP. Zmienna $config['output_compression'] wskazuje na poziom kompresji (w skali 1-9) lub jej całkowity brak (domyślnie wyłączone). Jak już wcześniej wspominałem programiści Kohany położyli duży nacisk na jej bezpieczeństwo. Po raz pierwszy spotkamy się z tym już w pliku konfiguracyjnym w zmiennej $config['global_xss_filtering']. Decyduje ona o automatycznym filtrowaniu wszelkich danych wymienianych między użytkownikiem a skryptem (czyli tablic superglobalnych $_GET, $_POST, $_FILES). Domyślnie ta opcja jest włączona. Kolejną dość ważną dla początkującego użytkownika tego frameworka opcją jest wyświetlanie błędów. Znajduje się ona w zmiennej $config['display_errors']. Jeżeli jest uaktywniona (domyślnie), za każdym razem gdy wystąpi błąd zostaniemy o tym szczegółowo powiadomieni (miejsce wystąpienia błędu, dane dostępne w obiektach, etc.). Ostatnią wartą uwagi pozycją w pliku konfiguracyjnym jest zmienna $config['preload']. Zawiera ona biblioteki (libraries) i moduły (modules), które mają się ładować automatycznie. Pozwoli to nam zapomnieć o konieczności ładowania modułów i bibliotek ręcznie na poziomie kontrolera. Plik config.php zawiera jeszcze kilka innych zmiennych, które nie mają większego wpływu na komfort programowania. Zachęcam jednak do zapoznania się z nimi samodzielnie.
Wsparcie
Jako, że Kohana jest bardzo młodym projektem nie znajdziemy na jego temat wiele informacji. Na stronie http://docs.kohanaphp.com/ znajduje się dość obszerna, angielskojęzyczna dokumentacja, która stale powiększa swoje zasoby (bazuje na skrypcie wiki - DokuWiki). Poza tym jeden z użytkowników Kohany prowadzi bloga, w którym pisze tutoriale do Kohany. Blog znajduje się pod adresem: http://learn.kohanaphp.com/ (po angielsku). Jeżeli szukamy polskojęzycznego wsparcia udajmy się na polskie forum Kohany pod adresem http://forum.kohanaphp.pl/.
framework
Autorem bloga jest Mariusz "marines" Kujawski. Poświęcony jest on programowaniu w językach webowych (PHP), tworzeniu stron (XHTML/CSS), systemom operacyjnym oraz przeróżnym nowinkom z sieci. 

O, widzę, że kolejny joggerowiec pokochał Kohana. Świetnie! :)
Programiści się leniwią i piszą sobie pomocnicze biblioteki i frameworki :> .
Zaraz, korzystając z okazji, że livebox ma okres – pobawię się :)
Kohana jest świetna. Korzystam przy moim tajnym niecnym projekcie ;) Wcześniej używałem CI. Ta rodzinka coś w sobie ma :D
początek pracy z frameworkami (Kohana) nie był usłany różami, ale teraz zaczynam doceniać ich istnienie :)
Szkoda tylko że czesto wprowadzaja zmiany powodujace wsteczna niekompatybilnosc.
trudno :) zacząłem od 2.1, a na dniach ma się ukazać 2.1. szkoda, ale zaczynając od zera, nauka 2.1 nie musi być czasem straconym :)
Bez przesady, aż takich wielkich zmian nie ma. A już na pewno nie takich, że nauka pójdzie na marne, czy trzeba będzie się uczyć od nowa. Ot, tylko przeczytać, co nowego i ewentualnie co się zmieniło.
„zacząłem od 2.1, a na dniach ma się ukazać 2.1”
2.2?
A bedziesz pisał jakiś dłuższy tutorial, czy tylko pojedyncza notka? Polecisz coś oprócz oficjalnego manuala? Bo bym się chętnie nauczył, chętnie, ale z drugiej strony nie mogę się zabrać do pracy z jakimkolwiek frameworkiem w PHP, szybciej mi wychodzi pisanie od postaw ;p
a tak, 2.2 :) będę pisał troszkę o Kohanie. nie ma nic oprócz manuala :] ja korzystam z Kohany troszkę ponad tydzień i już wiem, że wszystko robi się tu znacznie szybciej :) polecam. wertowanie manuala jest bardzo dobrym sposobem. na początek naucz się pisząc jakąś prosta aplikację. jak masz jakieś pytania to mozesz je takze zadać na #kohana (Freenode).
Ciekawy artykulik
dziś zaczynam przygodę z Kohana
czas zacząć bawić się FW a nie ciągle od 0 kodować :)
Ja też próbuje zacząć ale ciężko mi to idzie, bo na necie jakoś mało tutoriali :P