merhabalar kohana framework 3 ile çalışmak dersinin birincisine hoşgeldiniz.
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 directoryRewriteBase /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 directoryRewriteBase /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 ….