CodeIgniter Active Record Sınıfı

CodeIgniter’da veritabanı işlemlerini active record sınıfı ile yapıyoruz kullanımı oldukça kolaydır.Öncelikle config dizini altındaki database.php veritabanı ayarlarını yapıyoruz.Daha sonra application
dizini altındaki model klasöründe bir sınıf oluşturuyoruz burada önemli oluşturduğumuz dosyanın isminin sonuna model ekliyoruz.Örnek olarak vt_model.php ve model katmanında yazdırma işlemleri yapılmaz MVC mantığına aykırıdır.

class uye_model extends CI_Model{
 
    function __construct()
    {
        parent::__construct();
        $this->load->database();    //database load ediyoruz.
    }
 
}

veritanı işlemleri için listele adında bir fonksiyon yazalım.

    public function listele(){
            $this->db->select("*");
            $this->db->from("kisiler");
            $sorgu = $this->db->get();           //kişiler tablosundaki bütün verileri çekiyoruz.
            return $sorgu->result_array();       //sonucu return ederek yolluyoruz.
    }

yazdığımız fonksiyonu Controller’ımızda çalıtırıyoruz.

class Anasayfa extends CI_Controller {
public function index()
	{
		$this->load->view('ana_view');
		$this->load->database();
	}
  public function uyeGoster(){
  $this->load->model('uye_model'); //modelimizi yüklüyoruz
  $this->uye_model->listele();     //listele adındaki fonksiyonumuzu çalıştırıyoruz.
  }
}

fonksiyonumuza index.php/anasayfa/uyeGoster dizininde ulaşabiliriz.
where kullanımıda şu şekilde

$this->db->where("id",1);

veya daha farklı olarak koşulları bir diziye aktararak olabilir.
like kullanımıda şu şekilde

$this->db->like("uye_ad","vural");

CodeIgniter ile Rehber Uygulaması

Merhaba arkadaşlar,bu aralar CodeIgniter ile ufak tefek script yazıyorum.En son uğraştığım rehber uygulamasını paylaşmak istedim front olarak eksikler var yakın zamanda güncelleme yaparak en son halini paylaşacağım. Uygulamayı kurarken veritabanı ayarlarını database dosyasında ayarlamayı unutmayın.

Kodlar

CodeIgniter ile Controller Kullanımı

Bu yazıda Codeigniter’in Controller dosyasının kullanımına bakacağız. Controller dosyası default olarak şu şekilde gelmektedir.

class Blog extends CI_Controller {
 
	public function index()
	{
		$this->load->view('welcome_message');
	}
 
}

Bu dosyaya ci/index.php/blog/ adresinden ulaşıyoruz.Bu sınıfı belirtirken ilk harfi büyük olmalı yani büyük olması programlama ahlakı yönünden doğrudur küçük yazdığımızda hata almayız.

<?php
class blog extends CI_Controller {
 
}
</php>
Controller dosyasında bir fonksiyon yazdığımızda fonksiyona classın altında erişiriz.Örnek olarak bir fonksiyon yazdığımızda 
<pre lang="php">
class blog extends CI_Controller {
 
	public function index()
	{
		$this->load->view('welcome_message');
	}
 
	function hello(){
		echo "hello";
	}
}
?>

ci/index.php/blog/hello bu adresten ulaşırız.
Oluşturduğumuz bir fonksiyona parametre yollamak istersek adres yolunda slahs koyarak belirtiriz.

class blog extends CI_Controller {
 
	function deneme($a,$b){
		echo $a+$b;
	}
}

ci/index.php/blog/deneme/2/5 şeklinde parametreleri göndeririz sonuc olarak bize 7 sonucunu gösterir.

CodeIginiter Kütüphanelerine Ulaşma

Codeigniter Framework’ü kullanırken bazı durumlarda kullanım kolaylığı sağladığını görüyoruz.Bunlardan biride kendi içerisindeki kütüphaneleri kullanma Codeigniter’da fonksiyonları Helper dosyasında yazıyoruz.Bunun dışında kendi içindeki fonksiyonları kullanmak için get_instance() fonksiyonu kullanılır.Örnek olarak Codeigniter objesini değişkene atayalım.

$string = "vuralusenc@gmail.com";
 
$ci =& get_instance();

Objeyi atadıktan sonra $this yerine artık değişkeni kullanmamız gerekecek. PHP4 kullanıyorsanız get_instance() fonksiyonunu sınıfın contructor kısmından çağırmaktan kaçınmalısınız .Oluşturduğumuz objeyi Codeigniter’in şifreleme kütüphanesi olan encrypt için kullanalım.

$ci->load->library("encrypt");
$string = $ci->encrypt->encode($string);

burada önemli olan get_instance() fonksiyonun bir değişkene aktarılmasıdır.