Minimalist PHP Çatısı Slim

Dikkat: Bu yazının yazılma tarihinin üzerinden en az 60 gün geçmiş. İçerisindeki bilgiler güncelliğini yitirmiş olabilir. Yorumları ve güncellemeleri göz önünde bulundurarak yazıyı takip ediniz.
Artık kimse bir çatı (framework) kullanmadan web uygulaması yazmıyor. Kim hammaliye işlerle boğuşarak zaman kaybetmek ister ki. Bütün çatıların odağı yapacağınız işleri kolaylaştırmaktır, daha az kod daha çok iş. Çoğunlukla da bir ton güzellikle gelirler, vertiabanı katmanları, imaj işleyiciler, dosya yöneticileri, şablon motorları vs.

Basit bir web uygulaması hazırlıyor ve topu topu 3-5 farklı varış noktası olan bir uygulama yazıyorsanız, tek ihtiyacınız olan şey bir kod navigasyonudur, gerisi işinizi kolaylaştıracak kütüphanelerdir fakat bir çatının tüm elementlerini kullanmak istemeyebilirsiniz veya sadece ufak bir yardımcı kütüphane yetecek bir uygulama yazıyor olabilirsiniz. Örnegin sadece xml işleyen bir api hazırlıyorsunuz. Tek ihtiyacınız genel kod navigasyonunu halledecek bir yardımcı ve xmlinizi işleyeceğiniz bir kütüphane.

Bu yazıda Slim adında minimalist bir php çatısını kısa bir örnek kod ile tanıtacağım. Slim, altı üstü, hata ayıklama, oturum yönetimi ve çok basit bir şablon mekanizmasından oluşuyor. Şablon motoru bile değil, sadece yardımcı. Aşağıdaki kodda ikinci varış noktası tanımlamasında görebilirsiniz şablon kullanımını.

Çok detaya girmeye gerek yok kod zaten kendini anlatıyor :-)
$app = new \Slim\Slim();

$app->get('/hello/:name', function ($name) {
    echo "Hello, $name";
});

$app->get('/books/:id', function ($id) use ($app) {
    $app->render('books.php', array('id' => $id));
});

$app->notFound(function () {
	die("We couldn't find what you looking for.");
});

$app->run();
Slim'e istediğiniz şablon motorunu entegre edebilirsiniz.

Slim'ehttp://www.slimframework.com adresinden ulaşabilirsiniz. Dökümantasyonu çok detaylı değil fakat zaten çok detaya da ihtiyacınız olmayacak.

Yorumlar

Üye Resmi Ersin A.
16 Nisan Salı ´13 01:33
Test için kullanmıştım. Yapı olarak nodejs (express framework) e benzetmişler. Oldukça minimalist bir dizaynı var. Middleware mantığını kolayca uygulayabiliyorsunuz. Bu framework genellikle api lar için kullanılıyor. Yalnız o kadar simple ki mysql connector ya da query builder ı yok. Bu işlemler için RedBean i tavsiye ederim. Yanlız bu bile bazen yeterli olamayabiliyor. Bazı queryler için kendiniz source a birtakım fonksiyonlar eklemeniz gerekebilir.
Üye Resmi Peker Mert Öksüz
3 Mayıs Cuma ´13 03:37
Teşekkürler test edicem.
Üye Resmi Medyum
14 Mayıs Salı ´13 06:47
Bilgi Verdiğiniz İçin Teşekkürler.
Üye Resmi Übersetzungsdienst
29 Mayıs Çarşamba ´13 15:57
Bunları görünce kendi kendime 'C' programlarken neler çekmişiz biz zamanında! Hello World!   :-)
Üye Resmi konya web tasarım
11 Temmuz Perşembe ´13 02:16
Çok güzel ve faydalı bilgiler teşekkür ederim
Üye Resmi Mehmet Akyuz
17 Temmuz Çarşamba ´13 11:58
Öncelikle paylaşım için teşekkürler.Bir sorum olacaktı;

$app->get('/books/:id', function ($id) use ($app) { satırındaki use kullanımı ne iş yapıyor orada? use($app) denerek ne kastedilmiştir?Traitlerle ilgili bir durum mudur?Detaya inebilecek olan?
16 Ağustos Cuma ´13 15:58
use ile fonskiyona global bir degiskeni aktarabiliyorsun.

Yani fonskiyon icinde $app'e ulasabiliyorsun. yani eger global bir degiskeni pass ediyorsan normalde $GLOBALS['app'] ile ulasabilecegin degiskene dogrudan $app seklinde ulasabiliyorsun.
Yeni Yorum *
İletişim Bilgileri
*
*
E-Posta adresiniz gösterilmeyecektir.
(unut)
Güvenlik Kodu *

Gönderiliyor