CodeIgniter Kullanım Kılavuzu Versiyon 1.7.2


Scaffolding - İskele

Scaffolding kullanımına CodeIgniter 1.6.0. dan beri karşı çıkılmaktadır.

CodeIgniter'ın scaffolding özelliği uygulama geliştirme süresince veritabanına bilgilerinizi kolaylıkla ve hızlıca ekleme, düzeltme ya da silme imkanı sağlar.

Çok Önemli: Scaffolding sadece uygulama geliştime amaçlıdır. "Gizli" kelime tanımlanmazsa çok zayıf bir güvenlik sağlar, yani herhangi biri CodeIgniter sitenize giriş yaparak bilgilerinizi değiştirme ya da silebilme potansiyeline sahiptir. Eğer scaffolding kullanıyorsanız, işiniz bittikten sonra kullanım dışı bıraktığınızdan emin olun. Çalışan sitenizde kesinlikle GEÇERLİ BIRAKMAYIN.

Ne için scaffolding kullanılır?

Tipik senaryo şöyledir: Uygulama geliştirme sırasında yeni bir veritabanı tablosu oluşturun ve hızlı bir şekilde bilig ekleyip onlarla çalışmak isteyin. Scaffolding olmasaydı seçiminiz komut satırından ya da phpMyAdmin gibi veritabanı yönetim araçları kullanarak bazı bilgileri girmek olacaktı. CodeIgniter'ın scaffolding özelliği ile tarayıcı arayüzünü kullanarak hızlıca bilgi ekleyebilir ve bu eklediğiniz bilgileri kullanıp, kolaylıkla silebilirisiniz.

Gizli Kelime Ayarlama

Scaffolding kullanmadan önce lütfen biraz zaman ayırıp gizli kelimenizi ayarlayın. Bu kelime, URL'de karşılaştığı zaman scaffolding arayüzünü çalıştıracaktır yani misafirler için analşılması güç bilgiler alacaktır.

Gizli kelimenizi ayarlamak için, application/config/routes.phpdosyasını açın ve şu maddeyi aratın:

$route['scaffolding_trigger'] = '';

Bulduktan sonra kendi özel kelimenizi girin.

Not: Scaffolding kelimesi altçizgi ile kesinlikle başlayamaz.

Scaffolding'i Geçerli Kılmak

Not: Bu sayfadaki bilgiler, hali hazırda controllers çalışmasını bildiğinizi ve çalıştığınızı kabul ederek hazırlanmıştır. Ayrıca, veritabanına otomatik olarak bağlanacak şekilde CodeIgniter'ı ayarladığınız kabul edilmiştir. Eğer değilse, bu sayfadaki bilgiler çok ilgili gelmeyecektir, yani önce yukarıda bahsedilen bölümleri okumalısınız. Son olarak, sınıf constructor'ünün ne olduğunu anladığınız kabul edilmiştir. Eğer değilse, controllers bölümünün son kısmını okuyun.

Scaffolding'i geçerli kılmak için, sınıfınızın constructor kısmında başlatmalısınız:

<?php
class Blog extends Controller {

       function Blog()
       {
            parent::Controller();

            $this->load->scaffolding('table_name');
       }
}
?>

Burada table_name çalışmak istediğiniz tablonun adıdır (tablo, veritabanı değil).

Bir kere scaffolding'i başlattıysanız, kullandığınız URL modelinde şöyle göreceksiniz:

example.com/index.php/class/gizli_kelime/

Örneğin, : Blog isimli controller ve abracadabra kelimesi gizli kelimenizse scaffolding girişiniz şöyle olacaktır:

example.com/index.php/blog/abracadabra/

Scaffolding arayüzü kendini açıklamaktadır. Kayıtlarınızı ekleyebilir, düzeltebilir ya da silebilirsiniz.

Son not:

Scaffolding özelliği sadece "primary key" tanımlı (bu bilgi değişik veritabanı fonksiyonları için gereklidir) tablolarda çalışır.