Bir framework kullanıcıları için hazır modüller bulundurur, bu sayede framework kullanıcısının bir takım işleri yapması daha da kolaylaşmaktadır. Zaten framework'un amacı da budur.
Tabi olarak Kohana'nın içinde de bir takım modüller mevcut, bu modülleri Kohana'yı indirdiğinizde gelen klasörlerin içindeki "modules" klasörü içinde bulabilirsiniz. Biz bugün Kohana ile gelen bu modüllerden gmaps'i nasıl aktif edeceğimizi öğreneceğiz.
"Modules" klasörünün içindeki "gmaps" klasörümüz googlemaps için yapılmış olan modülü barındırmakta. Gene bu klasörün içinde bulunan "controllers" klasöründe bu modülle ilgili bir de demo bulunmakta, yanlız biz bu demoyu görüntülemek için. Kohana'nın ana dizinindeki "application/config" klasörüne giriyoruz. Sonrasında bu klasörde bulunan "config.php" dosyasını açarak. Sayfanın en altında bulunan,
PHP:
-
$config['modules'] =
array
-
(
-
// MODPATH.'auth', // Authentication
-
// MODPATH.'forge', // Form generation
-
// MODPATH.'kodoc', // Self-generating documentation
-
// MODPATH.'media', // Media caching and compression
-
MODPATH.'gmaps', // Google Maps integration
-
// MODPATH.'archive', // Archive utility
-
// MODPATH.'payment', // Online payments
-
// MODPATH.'unit_test', // Unit testing
-
// MODPATH.'object_db', // New OOP Database library (testing only!)
-
);
kodlarını buluyoruz. Hangi modülü kullanacaksak onun yanındaki açıklama işaretlerini (//) kaldırıyor ve sayfamızı tekrar kaydediyoruz. Biz "Google Maps" modülünü kullanacağımız için onun önündeki işaretleri sildik. Evet hepsi bu kadar artık modülümüzü kullanabiliriz.
Tarayıcımızı açarak adres alanına "http://localhost/kohana/index.php/gmaps_demo" yazdığımızda mevcutta bulunan demo sayfası görüntülenecektir. Sayfanın içerisindeki kodları incelemeyi unutmayın.
Daha önce PHP Framework - Kohana Kullanımı adlı bir yazı yazarak, Kohana'ya basit bir giriş yapmıştık. Bugünse biraz daha ilerleyerek Kohana ile veritabanından birkaç veri çekeceğiz.
İlk olarak MYSQL'de "blog" adlı bir veritabanı oluşturuyoruz. Ve bu veritabanımızın içine "users" adlı bir tablo açarak, bu tabloya "id, username, email" adlı 3 adet sütun ekliyoruz. Sonrasında tablomuz içinde veri çekmek için bu tabloya elle birkaç veri girelim.
Sonrasında veritabanımıza bağlanabilmek için Kohana'nın içerisinde gelen klasörlerden "system/config/database.php" dosyasını bularak açalım. Ve aşağıdaki ayarları kendimize göre düzenleyelim.
PHP:
-
'type' => 'mysql',
-
'user' => 'root', /*Veritabanımızın kullanıcı adı
-
'pass' => '', /*Veritabanımızın şifresi
-
'host' => 'localhost',
-
'port' => FALSE,
-
'socket' => FALSE,
-
'database' => 'blog'
Bu ayardan sonra artık veritabanımıza ulaşabiliriz.
Şimdi "application/controllers" klasörünün içerisine "user.php" adlı bir dosya açalım. Ve aşağıdaki kodları bu dosyaya ekleyelim.
PHP:
-
class User_Controller extends Controller {
-
-
public function index(){
-
$db=new Database;
-
$result= $db->query('SELECT * FROM users'); /*Tablomuzdan verileri çekiyoruz.
-
echo $db->last_query(); /*Yaptığımız sorguyu ekrana bastırıyoruz
-
foreach($result as $row){ /* Tablomuzdaki tüm verileri sırasıyla yazdırıyoruz.
-
echo $row->username . '</br>' ; /* Kullanıcı adını yazdırıyoruz.
-
echo $row->email . '</br>' ; /* E-maili yazdırıyoruz
-
}
-
}
-
}
Sayfamıza kodları ekledikten sonra kaydedelim. Şimdi yazdığımız kodların ne işe yaradığını görme zamanı. Tarayıcımızı açıp adres kısmına "http://localhost/kohana/index.php/user" yazıp, Enter'a bastığımızda ekrana yukarıda yazdığımız SQL ifadesi ve tablomuzda bulunan kullanıcı adı ve emailler basılacaktır. Hepsi bu kadar.
Framework kullanmak iyidir, kötüdür, gereklidir, gereksizdir, bu konulara hiç girmeyeceğim. Bence kullanın, bu konu hakkında söyleyeceklerimin hepsi bu kadar.
Şimdi asıl konumuza gelelim. Şu sıralar bir iki deneme yapma imkanı bulduğum, Kohana adlı Framework'den bahsedeceğim bugün.
Rakiplerine göre büyük bir library'si olmamasına rağmen, class yapısını kullanması ve PHP 5'e göre hazırlanan bu Framework gelecek vadediyor. Ayrıca Framework olayına yeni başlayacaklar için basit yazım standartlarıyla kolay bir başlangıç aracı olabilir.
Kohana'nın en büyük sıkıntısı ise Türkçe kaynağın hiç bulunmaması, İngilizce kaynağın ise neredeseyse sadece resmi sitesindekilerle sınırlı olması. Tüm bunlara rağmen Kohana'nın sitesindeki bilgiler son derece iyi anlatılmış ve anlaşılır bir yapıda. Kohana ile ilgili kaynaklara ulaşmak için yanda verdiğim linke tıklayabilirsiniz; Kohana Dökümanları
Yine Kohana'nın son sürümüne de yukarıda verdiğim bağlantıdan ulaşabilirsiniz.
Kohana'yı indirdikten sonra dosyayı localhost'unuza atın. Daha sonra "application" klasörünün içindeki "config.php" dosyasını açarak,
PHP:
-
$config['site_domain'] = 'localhost/kohana';
yukarıdaki kodu bulun ve kodu benim yaptığım gibi değiştirin. Sonrasında tarayıcınıza "http://localhost/kohana/index.php" adresini yazdığınızda Kohana'nın standart olarak gelen "Hoşgeldiniz! - Welcome" sayfasına ulaşacaksınız.

Standartları biraz aşalım. Kohana'nın içindeki "controllers" klasörünün içine girerek, "calendar.php" adlı bir dosya açalım.
Dosyanın içine aşağıdaki kodları ekleyelim.
PHP:
-
class Calendar_Controller extends Controller {
-
-
/*
-
* Takvim nesnesini oluşturuyor ve 2009 yılının Ocak ayına ait takvimi çağırıyoruz.
-
* Sınıf çağırıldığında fonksiyonumuzun adı index olduğundan otomatik olarak koşulacaktır.
-
*/
-
-
public function index(){
-
$this->calendar = new Calendar();
-
$cal=new Calendar(1,2009);
-
-
}
-
}
Şimdi sır geldi, yazdığımız kodların ne işe yaradığını görmeye, tarayıcınıza "http://localhost/kohana/index.php/calendar" yazarak Enter'a tıkladığınızda 2009 yılının Ocak ayına ait takvim sayfanızda görülecektir.
Umarım başka bir gün, bu konuda yazma imkanını tekrar buluruz.