
Slim Framework belkide PHP Micro Framework kategorisinde en iyilerinden demiş olsam abartıyor olmam, çünkü kullanımı gerçekten çok kolay, controller/model gibi özellikleri ayrı ayrı sınıflandırarak sunmak yerine çalışma sistemini oldukça hafifletmişler.
Controller yok demişken route temeli üzerine çalışma prensibi vardır, az sonra örneklere geçeceğiz ancak Slim Frameworkun çalışabilmesi için sistem gereksinimlerini hatırlayalım ;
Alıntı
Slim Framework güncel sürümü edinmek için ilgili adrese uğruyor ve dosyaları indiriyoruz
İndirdiğiniz dosyalar içerisinde .htaccess ve Slim klasörü hariç olmak üzere geri kalan dosya ve klasörleri kaldırabilirsiniz.,
Kullanım kolay dedik ancak ne kadar kolay ?
Local sunucuda ve Slim isminde bir klasör içinde çalıştığınızı varsayarak , dosyalarınızın bulunduğu dizine bir index.php dosyası oluşturmanız gerekli.
index.php içeriği
<?php require 'Slim/Slim.php'; \Slim\Slim::registerAutoloader(); $app = new \Slim\Slim(); // code here.. $app->run(); ?>Sadece temel çekirdek kodlarımız bunlar, oldukça basit!
Route demiştik, bakalım nasıl bir kolaylık sunuyor ?
$app->get('/', function () {
echo "Default Route";
});Hiçbir işlem yapmadan bu kodları çalıştırdığınızda ekrana Default Route mesajının geldiğini göreceksiniz.Route örnekleri devam edelim
localhost/Slim/hello
get('/hello', function () {
echo "Hello Route";
});Parametre göndermeklocalhost/Slim/hello/world
get('/hello/:name', function ($name) {
echo "Hello {$name}";
});Route kısmını anladığınızı varsayıyorum ve view yani görünüm kısmına geçiyorumview kısmı include mantığı ile hemen hemen aynı çalışıyor ve değer gönderebiliyorsunuz.
template isminde bir klasör foo.php adında bir dosya oluşturun.
foo.php içeriği
<?php echo $id;?>Route fonksiyonumuz
$app->get('/view/:id', function ($id) use ($app) {
$app->render('foo.php', array('id' => $id));
});localhost/Slim/view/1453ekran çıktısı 1453
name.php adındaki dosyamıza bir değişken gönderelim.
$app->get('/name', function () use ($app) {
$app->render('name.php', array('name' => 'Oğuz KOÇ'));
});Aynı mantık ile belirli sınıflardan veya fonksiyonlardan çalışmalarınızı yapabilirsiniz.$app->get('/test', 'test');
function test(){
$data = array(
'title' => 'Test Page',
);
$app->render('about.php', $data);
}Evet genel çalışma prensibi bu şekildedir, PHP merakınız var ise yeni teknolojiler denemeyi seviyorsanız mutlaka denemenizi öneriyorum.
Özellikleri sadece bunlar ile kısıtlı değil, resmi sitesinden dokümanlar oldukça detaylı ve anlaşılır yazılmış, bol bol okuyup pratik yaparak çalışmalarınızı daha hızlı ve verimli gerçekleştirebilirsiniz.
http://www.slimframework.com
http://docs.slimframework.com/
Temel özellikler kullanılarak oluşturulmuş demo için buradan
Çalışma dosyalarını indirmek için buradan
Çalışmalarınızda başarılar.
Oğuz KOÇ
http://www.oguzkoc.com.tr/slim-micro-framework/
