
Doctrine ORM (Object Relational Mapper) ile ilgili makale yazmak için hazırlanırken sırayı Redbean ORM kaptı diyebilirim. İkisi arasında ufak bir karşılaştırmayı yazının sonuna bırakarak Redbean ile sizi tanıştıralım.
Redbean tek bir dosyada bulunan küçük bir ORM kütüphanesi. Taşıması kolay Redbean veritabanı ile ilgili işlemlerimizi kolaylaştırmak için tasarlanmış. Bir uygulama geliştirdiğinizde aşağıdaki işlemleri tekrarlayarak gerçekleştirmeniz gerekir.
- Kuruluş: başlangıçta veritabanında veri tablolarının, indekslerin vb. oluşturulması
- CRUD : (Create/Oluştur, Read-Retrivew/Okuma, Update/Güncelleme, Delete/Silme) işlemleri
- Veritabanı bakımı: yeni güncelleme ile veritabanında tabloların yapısının güncellenmesi
Bu 3 işlem bazen can sıkıcı olabiliyor. Örneğin 3. işlemin yani güncelleme için ek kodlar yazmanız gerekecek.
İşte Redbean bu 3 işlemi de oldukça kolaylaştırıyor.
Oluşturmak
Başlangıç verinin oluşturmasında veritabanı şeması oluşturma ile veri girişini aynı anda gerçekleştiriyoruz.
<?php
// olustur.php
$bilgisayar = R::dispense('bilgisayar');
$bilgisayar->marka = 'dell';
$bilgisayar->islemci = 'intel core i7';
$id = R::store($bilgisayar);
?>
Yukarıdaki kodu kısaca anlatalım. Veritabanında ‘bilgisayar’ isimli bir tablo oluşturduk. ‘marka’ ve ‘islemci’ sütünları için değerler girdik ve kaydı tamamladık.
Kayıt yüklemek
İkinci örneğimizde veriyi çağırmak için tek satır kod yazıyoruz.
<?php
// yukle.php
$bilgisayar = R::load('bilgisayar', 1);
// çıktı dell olacaktır.
echo $bilgisayar->marka;
?>
Kayıt silmek
Bir önceki örneğimizde çağırdığımız kaydı silmek istersek yine tek satır yeterli.
<?php R::trash( $bilgisayar ); ?>
Sonuç
Özetlersek Redbean kullanımı kolay, uygulamanızı hızlı geliştirmenizi sağlayacak bir araç. Doctrine’deki ‘Translation’ (i18n) gibi çok dil destekli yapıyı burada kendiniz oluşturmanız gerekse de basitlik (simplicity) bana göre yazılım geliştirmenin en önemli unsurlarından. Redbean yazarları da ölçeklenebilirlik (scalability) konusunda da ‘redbeans ölçeklenebilirlik sözü vermese de size uygulamanızı daha iyi tasarlamanız için gereken zamanı kazandıracak kolaylıklara sahip.’ diyorlar. Çoğu uygulama daha büyük kullanıcı kitlesi için hazırlansa da gerçekte değişmeden kalır. En iyi metod bir uygulamayı gelişen ihtiyaçlara göre aşamalı olarak geliştirmektir diyorum. Redbean ile müşterinizin ihtiyaçlarına göre uygulamanızda daha hızlı değişiklikler yaparak daha hızlı yazılım geliştirme sağlamak bence önemli bir nokta.