Kohana framework kurulumu ve basit bir uygulama –Ders 1–

merhabalar kohana framework 3 ile çalışmak dersinin birincisine hoşgeldiniz.

kohana php framework

ilk olarak http://dev.kohanaphp.com/projects/kohana3/files adresinden kohanın son sürümünü indiriyoruz , sıkıştırılmış dosyaları açtıkdan sonra local sunucumuzun içine açıyoruz ben örnek olarak kullandığım sunucu xampp olduğu için D:xampphtdocsframeworkders1 de bulunan adrese açtım.

kurulumu hakkında eburhanın yapmış oldugu dersi inceleyebilirsiniz,http://www.eburhan.com/2-dakikada-kohana-frameworkunu-kurmak-ve-calistirmak/

Aslında kohana3  zaten kuruldugunda ekrana hello,world yazmakdır ,fakat biz Kohana yapısını anlamak için farklı bir örnek yapacağız.

kurulumu yaptığımıza ve herşşey OK olduğuna göre anadizinde  example.htacces isimli bir dosya görecegiz ,dosya açarak

# Installation directory
RewriteBase /kohana/

yazan kısmı sunucumuzdaki dosya ismi ile değiştiriyoruz ,ben ders1 yaptığım için aşağıdaki gibi değiştirdim.

# Installation directory
RewriteBase /ders1/

daha sonra example.htacces dosyasının ismini .htacces olarak değiştirelim ve kaydedelim.

şimdi application klasorunde bulunan bootstrap.php dosyasını açalım ve

Kohana::init(array('base_url' => '/'));

kısmını

Kohana::init(array('base_url' => 'http://127.0.0.1/framework/ders1/'));

şeklinde yazalım ve şimdi “application/classes/controller"  klasörünü açalım ve içine deneme1.php isimli bir dosya oluşturalım ,içerisine aşağıdaki kodu yazalım.

<?php 
defined('SYSPATH') or die('No direct script access.');

class Controller_Deneme1 extends Controller
{
public function action_index()
{
$this->request->response = 'Merhaba kohana3 ile ilk tanışma';
}}

şimdi test etmek için aşağıdaki linki tarayıcımıza yazalım.
http://127.0.0.1/framework/ders1/index.php/deneme1
Şimdi kodları açıklayalım

—————————————-

 Controller_Deneme1 extends Controller

bu kısım controlller sınıfı için bir denetleyici oluşturur.

Dikkat edin  Controller_Deneme1 de geçen Deneme1 yazısı aslında "application/classes/controller”

klasöründe bulunan deneme1.php arasındaki ilişkiyi ifade eder.

————————-
public function action_index()

bu kısım

Bu genel bir yöntemdir , “action_index” denilen bir alan  oluşturur.  “Action_index"yöntemi framework  tarafından yüklenen varsayılan bir komuttur. bunu diğer sitelerimizde kullandıgımız index.php gibi düşünebilirsiniz.

————————————————-

public function action_index()
{
$this->request->response = 'Merhaba kohana3 ile ilk tanışma';
}

Bu kontroller ekrana Merhaba kohana3 ile ilk tanışma yazısını yazacaktır.

Yani framework isizn isteğinize bir yanıt verecektir diyebiliriz.

Evet buraya kadar tamam şimdi biraz daha farklı bir şeyler yapalım .

şimdi "application/classes/controller” de bulunan deneme1.php deki aşağıdaki yazımızı silelim

public function action_index()
{
$this->request->response = 'Merhaba kohana3 ile ilk tanışma';
}

yazımızın hemen altına aşağıdaki kodu yazalım

 public function action_farkli()
{
$this->request->response = 'farkli bir uygulama olsun ';
}

ve şimdi test edelim. http://127.0.0.1/framework/ders1/index.php/deneme1/farkli

ve ekrana farkli bir uygulama olsun yazısını yazdı. şimdi biraz da dinamik içerik konusunda birşeyler yapalım. yine aşagıdaki kısımdan sonra hemen onun altına

public function action_farkli()
{
$this->request->response = 'farkli bir uygulama olsun ';
}

aşağıdaki kodu yazalım

 public function action_dinamik($isim)
{
$this->request->response = 'Adınız Nedir: '.$isim;
}

ve linkimizi test edelim
http://127.0.0.1/framework/ders1/index.php/deneme1/dinamik/selman

ve son olarak bir ipucu vereyim kafa karıştırmasın diye en sona yazıyorum link verirken

http://127.0.0.1/framework/ders1/index.php/deneme1/    buradaki index.php yi kaldırmak isterseniz  yani linki aşağıdaki gibi açmak isterseniz
http://127.0.0.1/framework/ders1/

application klasorunde bulunan bootstrap.php açalım ve içindeki aşağıdaki satırı

Route::set('default', '((/(/)))')
->defaults(array(
'controller' => 'welcome',
'action' => 'index',
));

ağağıdaki gibi değiştirelim

Route::set('default', '((/(/)))')
->defaults(array(
'controller' => 'deneme1',
'action' => 'index',
));

ve http://127.0.0.1/framework/ders1/ yazarak test ettğimizde sonucu görüyoruz

bunu açıklamamız gerekirse daha önceki welcome yazısı kohana nın ilk kurulumunda yazılan hello world yazısını getirmek için , yani buraya varsayılan değeri giriyoruz bu anlama gelmektedir.Fakat dinamik örneğinde değişme olmayacaktır onu yine aynı şekilde çağıracağız (http://127.0.0.1/framework/ders1/index.php/deneme1/dinamik/selman) bu konuyla ilgili diğer örnekleri URI konusunda anlatacagım
çok yakında diğer dersimiz olan görünümlerle (views) çalışmak ,dersinde görüşmek üzere ….

Tüm kohana dersleri için tıklayın