CodeIgniter Serisi 1 – Nedir

PHP Programlama  Şubat 27, 2015

Eğer daha önce PHP programcılığıyla uğraştıysanız CodeIgniter sizin için çok hızlı geliştirme sağlayacak bir katmandır. Kodlarınızı çok rahat okuyabilir ve güncelleyebilirsiniz. CodeIgniter PHP, HTML, CSS, Veritabanı ve diğer şeyleri birbirinden ayırarak geniş kapsamlı projeleri geliştirmenize mühim faydalar sağlar.

Zaman Kazanın

Projeleriniz büyüdükçe içinden çıkılmaz bir duruma gelebilir. Sürekli aynı kodları yazmak kopyalamak ve kendi sınıf yapınızı kurmak belkide işin kendinden daha fazla zaman harcatır. Hemen size MySQL sorgusu için yazdığımız kodları hatırlatayım,

$con = mysql_connect("localhost", "root", "123");
mysql_select_db("website", $con);
$result = mysql_query("Select * From contents", $con);
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
echo $row["url"];
}

Evet kodumuzu hatırlamış olduk, bağlandık, veritabanı seçtik, sorgumuzu çalıştırdık, en iyi ihtimalle döngülerle yazdırdık. Peki bu işi codeigniter ortamında yapsaydık ne olacaktı.

$query = $this->db->get('contents');
foreach ($query->result() as $row) {
echo $row->url;
}

İşte kod bu kadar basit ve anlaşılır bir hale geldi. contents tablosunu al ve resultu döngüye sok. Ya peki bir select ile dropdown yapmış olsaydık?

<select name="isimler">
<option value="1">Ahmet</option>
<option value="2">Mehmet</option>
<option value="3">Cevdet</option>
</select>

Bu html kodu size yabancı gelmemiş olacaktır. Tabi veritabanından çekip döngüyle optionları yazdırmak mümkün. Ancak CI deki şu yöntem şaşırtıyor.

$names = array("1" => "Ahmet", "2" => "Mehmet", "3" => "Cevdet");
echo form_dropdown('names', $names, '1');

İşte bu kadar basit tabi veritabanından çektiğiniz datanında bir dizi olduğunu düşünürsek direk sorgu sonucunu dahi bu mantıkla basmak mümkün. Bu bağlamda bir sürü örnek vermem mümkün. Eminim devam ettiğinizde iyi ki öğrenmişim diyeceksiniz.

Peki ama Framework ne demek?

İşte önemli bir soruya değindik. Yazılım süreçleri ilk yıllarda bir dizi kodun düz bir şekilde çalışarak belirli noktalarda bilgi girişi isteyerek ve bazen bazı koşullara göre satırlara atlayarak çalışmaktaydı. Ancak kodlar nesnelere ve nesneler de bileşenlere dönüşmeye başladı. Bunun en büyük sebebi kodların yazılmasının hızlandırılması ve kaliteyi hep aynı tutabilmekti. CI size bunu sağlayan MVC yapısında bir katmandır. Model-View-Controller kısaltması olan bu harflerin gerçek manasını açıklayacak olursak,

Model, bir veribloğunu kapsamaktadır. En yaygın olarak Veritabanı işlemleri için kullanılır. Açıkcası pek az projede veritabanı dışında session veya cache gibi bilgi saklayabilen farklı şeyleri bu katmanda yönetildiğini gördüm. Biz şimdilik Model kavramını anlamak için verilerin okunduğu ve yazıldığı kod dosyaları olarak bilelim.

View, Model üzerinden gelen bilginin ekrana dökülmesi (tablo yada başka bir yöntemle listeleme, detay sayfası oluşturma gibi) işlemlerini üstlenir. Yani HTML ve CSS gibi (hatta JS) görsellik bu katmandaki dosyalara işlenir.

Controller, ise bir başvuruda hangi Model’den hangi verinin alınıp hangi View’e gönderileceğini belirler. Yani www.site.com/hakkimda gibi bir başvuruda hakkimda Controlleri hakkımda için yazdığım yazıyı okuyacağı veritabanı modelini yükler ve veriyi alıp hakkımda sayfasını gösterecek olan View dosyasını yükleyerek ona teslim eder. Böylece hakkımda bilgisi veritabanından okunup ekrana aktarılmış olur. Tam tersini de düşünebiliriz, bir formdan girilen bilgi bir Controller’e post edilerek controllerin hangi Model’e bu veriyi teslim ederek güncelleme işlemi yapacağına karar verdirip veri girişini de sağlarız.

Olayın daha net bir şekilde anlaşılması için örneklerimiz iyi olacaktır. Bu yazıdan da anlaşılacağı gibi temel olarak kod tiplerini birbirinden ayıran ve zengin yardımcı bileşenleri ile daha az kod yazdırarak iş yapmamızı sağlayan CodeIgniter’i kullanmamız şart oldu.

İkinci yazımda görüşmek üzere.

Bu yazı 3309 defa görüntülendi

“CodeIgniter Serisi 1 – Nedir” için 3 cevap

  1. Doğan ERSOY dedi ki:

    Sahip olduğunuz değerli bilgileri paylaşmanızdan dolayı teşekkür eder, başarılarınızın devamını dilerim.

  2. Teşekkür ederiz. Yeni websitemizi code igniter ile yapmayı planlıyoruz. Yazılarınız çok faydalı oldu.

  3. Uzun zamandır anlaşılır ve basic bir anlatım arıyordum. Birinci ders ile başlıyorum hocam, teşekkür ederim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Yazar Hakkında

15 yıllık çalışma hayatında birçok proje geliştirmiş binlerce projeyi inceleme fırsatı bulmuş yazılım aşığıdır. İşini hobi olarak gören yazarımız iş hayatını profesyonelce zevkle sürdürmektedir.

Son Eklenenler