php ve eskiden kalma delphi yazıları….
24 Tem
Evet şimdi kohana framework ile çalışmak ders 2 ye başlıyoruz ,daha önce ders1 i okumamışsanız buradan buyrun..
evet başlıyoruz daha önceki yazımdaki aynı işlemleri yapalım
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:\xampp\htdocs\framework\ders1 de bulunan adrese açtım.
kurulumu hakkında eburhanın yapmış olduğu videoyu inceleyebilirsiniz,http://www.eburhan.com/2-dakikada-kohana-frameworkunu-kurmak-ve-calistirmak/
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 /ders2/
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/ders2/'));
şeklinde yazalım.
Şimdi “application” altındaki “views” klasöründe pages isimli bir klasör açalım ve burada bir ko3.php isminde bir dosya açalım.
<html> <head> <title>ders 2</title> </head> <body> <h1>view lerle ilk dersimiz </h1> </body> </html>
ve şimdi “application\classes\controller” altında bir ko3.php isminde bir dosya açalım ve içerisine
<?php
defined('SYSPATH') or die('No direct script access.');
class Controller_ko3 extends Controller
{
public function action_index()
{
$this->request->response = View::factory('pages/ko3');
}
ve şimdi test edelim http://127.0.0.1/framework/ders2/index.php/ko3
olayımızı biraz daha geliştirelim, application\views\pages içinde ko3.php deki yazımıız silelim ve aşağıdaki gibi yazalım.
<html> <head> <title>merhaba</title> </head> <body> <h1>view lerle ilk dersimiz </h1> <?php echo $content;?> </body> </html>
şimdi “application\classes\controller” altında bir ko3.php içerisindeki kodumuzu silelim ve aşağıdaki gibi yeniden yazalım.
public function action_index()
{
$view = View::factory('pages/ko3');
$view->content = deneme 1';
$this->request->response = $view->render();
}
yine silelim ve farklı bir yöntemle yapalım ve test edelim http://127.0.0.1/framework/ders2/index.php/ko3 sonuç yine aynı farklı kullanım şekilleri var bunu anlıyoruz
public function action_index()
{
$data['content'] = 'deneme 2 ';
$view = View::factory('pages/ko3', $data);
$this->request->response = $view->render();
}
yine silelim ve şimdi farklı bir yöntemle daha yazalım.
public function action_index()
{
$content = 'deneme 3';
$view = View::factory('pages/ko3') ->bind('content', $content);
$this->request->response = $view->render();
}
Bu farklı yollarla yazmamızın nedeni kohanın farklı yolları destekliyor olmasını göstermek amaçlıdır.
Şimdi “application/views/” altında “blocks” isimli bir klasör oluşturalım ve içinde ko3_inner.php isminde bir dosya oluşturalım.
içine aşağıdaki kodu yazalım.
<h3>Bu iç içe geçmiş bir view</h3>
şimdi “application/views/pages/” içindeki “ko3.php” dosyasını açalım ve içini silip aşağıdaki kodu yazalım.
<html>
<head>
<title>selam!</title>
</head>
<body>
<h1>>view lerle ilk dersimiz</h1>
<?php echo $content;?>
<?php echo View::factory('blocks/ko3_inner')->render(); ?>
</body>
</html>
Burası aslında view içindeki bir kodu görmemiz açısından doğrudur, fakat statik bir deger için doğru olablir fakat controlleri değerleri görmemizi sağlamaz.Sadece düzeltme amalı kullanım içindir.Burada size bir kullanım şekli hakkında bilgi vermiş oldum.
şimdi ise başka bir şey yapalım “application\classes\controller” altında bir ko3.php ismindeki dosyamızı açalım ve içini değiştirelim aşağıdaki kodu yazalım.
public function action_index()
{
$ko3_inner['content'] = 'bir bilgi girdik';
$ko3['content'] = 'biz bir bilgi girdik';
$ko3['ko3_inner'] = View::factory('blocks/ko3_inner', $ko3_inner)
->render();
$view = View::factory('pages/ko3', $ko3);
$this->request->response = $view->render();
}
bunu test edelim http://127.0.0.1/framework/ders2/index.php/ko3
şimdi ise sabit değerler hakkında bir deneme yapalım
“application\classes\controller” altında bir ko3.php ismindeki dosyamızı açalım ve içini değiştirelim.
public function action_index()
{
View::set_global('sabit', 'bu global bir değer ');
$ko3_inner['content'] = 'bir bilgi girdik';
$ko3['content'] = 'biz bir bilgi girdik';
$ko3['ko3_inner'] = View::factory('blocks/ko3_inner', $ko3_inner)
->render();
$view = View::factory('pages/ko3', $ko3);
$this->request->response = $view->render();
}
son olarak ise views bölümündeki ko3_inner.php veya ko3.php nin içine ağaşıdaki kodu yazalım
<br/><?php echo $sabit;?>
ve test edelim http://127.0.0.1/framework/ders2/index.php/ko3
dersimiz bitti umarım güzel anlatmışımdır ,şunu söylemekde fayda var ben bunu yabancı sitelerden çevirerek yaptım bu yüzden hatalar olabilir, ama kohana oldukça kolaydır ,sürekli deneme ve test yaparak zamanla alışablirsiniz hemen pes etmeyin,Framework kullanmak size çok şeyler kazandıracktır.
Diğer dersimiz kontrollerle çalışmak da görüşmek üzere ….Devam edeceğiz.
Tüm kohana dersleri için tıklayın
Popularity: 38% [?]
23 Tem
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:\xampp\htdocs\framework\ders1 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
Popularity: 64% [?]
| Pts | Sal | Çar | Per | Cum | Cts | Paz |
|---|---|---|---|---|---|---|
| « Ara | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||