Kohana ve Veritabanına Bağlanma
Kohana ile veritabanı bağlantısı gerçekleştirmek istiyorsanız öncelikle application/bootstrap.php dosyasını düzenlemeniz gerekmektedir. bootstrap.php dosyası içerisinde kullanacağınız modülleri çağırmanız gerekmekte. Bundan dolayı, Kohana::modules arrayi içinde bulunan database satırının yorum satırı olarak göstermemelisiniz.
Kohana::modules(array( // ... 'database' => MODPATH.'database', // Database access // ... ));
Bu aşamadan sonra veritabanına bağlanmak için ayarların yapılması gerekmekte. Veritabanı ayarlarını Modules/database/config/database.php dosyası içerisinde yapabileceğiniz gibi, Application/config/database.php dosyası oluşturup aşağıdaki kod ile de gerçekleştirebilirsiniz.
<?php defined('SYSPATH') or die('No direct access allowed.');
return array
(
'default' => array
(
'type' => 'mysql',
'connection' => array(
'hostname' => 'localhost',
'username' => 'kullanıcıadı',
'password' => 'şifre',
'persistent' => TRUE,
'database' => 'veritabanıadı',
),
'table_prefix' => '',
'charset' => 'utf8',
'profiling' => TRUE,
),
'ikinciveritabani' => array
(
'type' => 'mysql',
'connection' => array(
'hostname' => 'localhost',
'username' => 'kullanıcıadı',
'password' => 'şifre',
'persistent' => TRUE,
'database' => 'veritabanıadı2',
),
'table_prefix' => '',
'charset' => 'utf8',
'profiling' => TRUE,
)
);
default adında tanımlamış olduğunuz veritabanına objesini oluşturmak için;
$default = Database::instance();
yazmanız yeterlidir. Instance Name farklı kullandıysanız aşağıdaki şekilde veritabanı objesini oluşturabilirsiniz;
$default = Database::instace('ikinciveritabani');
Veritabanı ile işiniz bittiğinde connection kapatmak için;
unset($default) // veya unset(Database::$instances['default']);
demeniz yeterlidir.Bütün connectionları kapatmak istiyorsanız;
Database::$instances= array();
kullanmalısınız.
Connection test etmek için controller classının içinde şunu denemeniz yeterlidir;
$default = Database::instance(); $default->connect(); unset($default);
Eğer "Database_Exception [ 2 ]: mysql_pconnect(): Access denied for user 'root'@'localhost' (using password: YES)" hatası almazsanız veritabanına başarıyla bağlandınız demektir.
Kaynak:
Kohana Framework’te adresten index.php silme
Kohana Framework'te adresler, www.example.com/index.php/controller/action şeklinde olmakta. Adresten index.php'yi kaldırmak için aşağıdaki .htaccess dosyasını root dizininde oluşturmanız yeterlidir.
# Remove index.php from url
# Turn on URL rewriting
RewriteEngine On
# Put your installation directory here:
# If your URL is www.example.com/kohana/, use /kohana/
# If your URL is www.example.com/, use /
RewriteBase /
RewriteRule ^(?:application|modules|system)\b - [F,L]
RewriteRule ^(application|modules|system)/ - [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [PT,L]
Kohana Php Framework
Kohana BSD license ile koruma altına alınmış open source bir php frameworktur. Php5 ile object oriented ve MVC mimarisini kullanılarak geliştirilmiştir. Diğer frameworklere göre daha esnek bir frameworktür.
Kısa bir tanımdan sonra artık Kohana'nın kurulumuna geçebiliriz;
- Kohana website'sinden en son kararlı sürümü indiriyoruz ve web sunucumuzun rootuna açıyoruz.
- application/bootstrap.php dosyasını açıyoruz ve
- Default timezone,
- BaseUrl adreslerini düzenliyoruz.
- application/cache ve application/logs klasörlerine yazma iznini veriyoruz.
Base Url adresimize browser ile giriş yaptığımızda, installation sayfası açılacaktır. Bu sayfada kurulumun başarılı olup olmadığını görebilirsiniz. Eğer kurulum başarılıysa install.php dosyasını siliyoruz. install.php dosyasını sildiğinizde base url adresinize tekrar giriş yaparsanız Hello World mesajını göreceksiniz.
