CodeIgniter Kütüphane (Library) Ekleme

CodeIgniter çatısı herne kadar işe yarar bir çok kütüphaneye sahip olsa da, bazen CodeIgniter’da bulunmayan harici bir kütüphanenin yada projeye özel yazılan bir kütüphanenin  CodeIgniter’a eklenmesi gerekebilir. Böyle bir durumda kalırsanız harici kütüphaneyi CodeIgniter’a eklemek için aşağıdaki adımları takip edin.  Bu makalede örnek olarak bir fotoğraf yükleme/işleme kütüphanesi olan Verot.Net isimli kütüphaneyi CodeIgniter’a ekleyeceğiz. CodeIgniter versiyonu 3.1.8 dir.

İlk olarak şu adresteki Verot.Net class dosyasını system/libraries dizini içine atın. Class İsminin CI_ ile başladığına dikkat edin. Kendi ekleyeceğiniz harici kütüphanelerde CI_ öneki (prefix) ile başlamalı.

 

Daha sonra bu kütüphanenin tüm Controller lar içinde otomatik olarak yüklenip kullanıma hazır olmasını istiyorsanız application/config/autoload.php dosyasının 61. satırındaki $autoload[‘libraries’] = array();  değişkenine parametre olarak ekleyin. Kütüphanenin auotoload edilmesini istemiyorsanız bu adımı atlayabilirsiniz. Ekleme işleminden sonra şöyle görünmeli;

$autoload['libraries'] = array('verot_net');

Controller içerisinde kullanmak için kütüphane autoload edilmemişse herhangi bir method içinde $this -> load-> library(‘verot_net’); ifadesi eklenerek kullanılabilinir. Autoload edilmişse bu ifadeyi eklemeye gerek yoktur. Kütüphaneyi Controller içerisindeki birden fazla methodta kullanmak isterseniz ozaman her methodta ayrı ayrı eklemek yerine __construct methodu ile bir kez ekleme yapmak  yeterli olacaktır. Bu şekilde Controller içerisindeki tüm methodlarda kullanılabilinir.

__construct a kütüphaneyi ekleme

public function __construct ()
{
parent::__construct();
$this -> load-> library('verot_net');
}

Aşadağıki  örnek kodda POSTtan alınan fotoğrafın Verot.Net ile işlenip yüklenmesi yapılmıştır. Kendi kullandığım şekilde açıklamalarını yazdım. Verot.Net hakkında daha fazla bilgi için kendi sitesindeki dökümanlara bakın.

Örnek kullanım

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

public function __construct ()
{
parent::__construct();
$this -> load-> library('verot_net');
}

public function index()
{
// YÜKLENMESİ İSTENİLEN DOSYA
$this -> verot_net -> upload($_FILES['photos']);

// YÜKLEME İŞLEMİNİN YAPILIP YAPILMADIĞININ KONTROLÜ
if ($this -> verot_net -> uploaded):
// HANGİ UZANTILARIN YÜKLENMESİNE İZİN VERİLECEĞİ AYARI
$this -> verot_net -> allowed = array('image/jpeg', 'image/gif', 'image/png', 'image/bmp', 'image/x-windows-bmp');

// FOTOĞRAFIN KAYDEDİLECEĞİ İSİM
$this -> verot_net -> file_new_name_body = 'yeni_isim';

// YENİDEN BOYUTLANDIRMA İŞLEMİ YAPILACAĞINI BELİRTEN AYAR
$this -> verot_net -> image_resize = true;

// CROP İŞLEMİ YAPILIRKEN ORANTININ BOZULMAMASI İÇİN
$this -> verot_net -> image_ratio_crop = true;

// CROP İŞLEMİ SONRASI X GENİŞLİĞİ
$this -> verot_net -> image_x = 400;

// CROP İŞLEMİ SONRASI Y GENİŞLİĞİ
$this -> verot_net -> image_y = 300;

// HANGİ KALİTE İLE KAYDEDİLECEĞİ AYARI
$this -> verot_net -> jpeg_quality = 80;

// HANGİ UZANTI İLE KAYDEDİLECEĞİ AYARI
$this -> verot_net -> image_convert = 'jpg';

// HANGİ DİZİNE YÜKLENECEĞİAYARI
$this -> verot_net -> process('uploads');
endif;
}
}

Şunlarda Hoşunuza Gidebilir...

Bir Cevap Yazın

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

%d blogcu bunu beğendi: