CodeIgniter 3 Library Oluşturma ve Kullanma

4 Şubat 2020 tarihinde Emre Can ÖZTAŞ tarafından paylaşıldı.

CodeIgniter ile kendi library (kütüphane) oluşturma işlemi oldukça basit tabi ki bazı standartlara uymanız durumunda!

Öncelikli olarak; kendi oluşturacağınız library, application/libraries dizini altında olmalıdır. Çünkü; CodeIgniter geliştiricileri, bu alanı tamamen geliştiricilerin kendi library’lerini saklamaları için ayırmışlardır.

Örnek bir library oluşturalım.

<?php

class Hello_world
{
    public function say_hello()
    {
        echo('Hello World!');
    }
}

Görüldüğü gibi kütüphanemiz oldukça basit.

Burada dikkat edilmesi gereken nokta; controller tanımlamasında olduğu gibi, library’imiz de aynı şekilde class ismi / dosya ismi standartlarına uymak zorundadır. Peki neydi bu standartlar?

  • Dosya adlarının baş harfleri büyük olmalı. Örn: Hello_world.php
  • Sınıf adlarının baş harfi büyük olmalı. Örneğin: Hello_world
  • Dosya ve sınıf isimleri aynı olmalıdır.

Bu 3 kuralı göz önünde bulundurarak kütüphanelerimizi oluşturmamız gerekir.

Yukarıda yazdığımız sınıfımızı kaydederken de; application/libraries/Hello_world.php şeklinde kaydetmeliyiz.

Gelelim bu kütüphanemizi kullanmaya. Hangi controller içerisinde kullanacaksak; bu controller içerisinde, normal bir CodeIgniter library’isini çağırır gibi çağırıp kullanmamız gerekiyor.

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

class Ana_sayfa extends CI_Controller
{
    public function __construct() 
    {
        parent::__construct();
        $this->load->library('Hello_world');
    }

    public function index()
    {
        echo($this->Hello_world->say_hello());
    }
}

Yukarıda kodlarımızda da görüldüğü üzere; Ana_sayfa controller’ımızda, hazırladığımız library’i çağırdık ve library’e ait olan say_hello() metodunu kullandık.

Aynı zamanda hazırladığımız bu library’i, config/autoload.php sayfasında:

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

satırında belirterek, sistem yüklenirken de otomatik olarak çağırabiliriz.

Bu library’e parametre de geçebilirsiniz.

$params = array('name' => 'emre can', 'surname' => 'öztaş');
$this->load->library('Hello_world', $params);

Gönderdiğimiz parametreleri de constructor metotda kullanabiliriz.

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

class Hello_world {

        public function __construct($params)
        {
                // Do something with $params
        }
}

Daha önce oluşturmuş olduğunuz çeşitli library’lerinizi, CodeIgniter ortamına aktarabilir ve kullanabilirsiniz.

Kategoriler: [CodeIgniter] Etiketler: #codeigniter #library #load

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.