3 Eylül 2014 Çarşamba

Codeigniter'de CRUD işlemlerini kısaltan base model

Bu yazımda codeigniter ile geliştirme yaparken dikkatimi çeken üç beş satırda olsa sürekli tekrarladığım create, read, update, delete işlemleriydi. Hatta o kadar çok kopyaladığımı fark ettim ki bunun saçma olduğu aklıma geldi. Size kendim için geliştirdiğim tek satır kodla bu işlemleri yapan base model sınıfımı sunacağım.

Öncelikle base sınıfımızı core içine oluşturuyoruz.

class MY_Model extends CI_Model {

 public function __construct() {
  parent::__construct();
 }
 
 public function CRUD_get($table, $filters, $asarray) {
  $this->db->from($table);
  if ($filters != null) {
   $this->db->where($filters);
  }
  $result = $this->db->get();
  if ($asarray) {
   return $result->result_array();
  } else {
   return $result->result();
  }
 }
 
 public function CRUD_insert($table, $data) {
  $this->db->set($data);
  $this->db->insert($table);
 }
 
 public function CRUD_update($table, $data, $filters) {
  $this->db->set($data);
  $this->db->where($filters);
  $this->db->update($table);
 }
 
 public function CRUD_delete($table, $filters) {
  $this->db->where($filters);
  $this->db->delete($table);
 }
 
}

Bu aşamadan sonra modelde oluşturacağımız kod şuna benzeyecektir.


public function get_news_categories($filters, $asarray = false) {
  return $this->CRUD_get('mod_news_categories', $filters, $asarray);
 }

Diğer fonksiyonları da benzer şekilde çözeceğinizi tahmin ediyorum. Tekrar görüşünceye dek esenlikle kalın...

0 yorum: