modular model di codeigniter

10
http://ivaynberg.github.io/select2/ [auto complit ] Modular Model di Codeigniter Writen By Khairu At 16 Okteber 2011 Mungkin yang sering bercokol dengan Codeigniter pasti sudah mengerti dengan Modular Model, Modular model merupakan sebuah cara untuk membuat pekerjaan Developer menjadi lebih simple, yang di maksud dengan modular model adalah membuat sebuah library Model yang dapat digunakan untuk semua operasi database, dengan adanya library tersebut developer tidak harus membuat model yang panjang dan berbelit untuk setiap operasi database, memang sih sudah ada active record dari Codeigniter sendiri, tetapi dengan membuat modular model yang memanfaatkan active record tersebut pekerjaan yang panjang menjadi cukup simple Dalam kesempatan ini saya akan mencoba menjelaskan bagaiaman membuat modular model untuk Codeigniter, yang nantinya masih bisa dikembangkan oleh teman-teman semua, langkah pertama yaitu membuat sebuah file baru pada folder application/library dengan nama My_Model.php, berikut secript beserta penjelasanya 1 2 3 4 5 6 7 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class My_Model extends CI_Model{ var $table; function __construct(){ parent::__construct(); $this->load->database();

Upload: hazan-komara

Post on 30-Nov-2015

36 views

Category:

Documents


1 download

DESCRIPTION

Memodulkan file class pada ci

TRANSCRIPT

Page 1: Modular Model Di Codeigniter

http://ivaynberg.github.io/select2/ [auto complit ]

Modular Model di Codeigniter

Writen By Khairu At 16 Okteber 2011

Mungkin yang sering bercokol dengan Codeigniter pasti sudah mengerti dengan Modular Model, Modular model merupakan sebuah cara untuk membuat pekerjaan Developer menjadi lebih simple, yang di maksud dengan modular model adalah membuat sebuah library Model yang dapat digunakan untuk semua operasi database, dengan adanya library tersebut developer tidak harus membuat model yang panjang dan berbelit untuk setiap operasi database, memang sih sudah ada active record dari Codeigniter sendiri, tetapi dengan membuat modular model yang memanfaatkan active record tersebut pekerjaan yang panjang menjadi cukup simple

Dalam kesempatan ini saya akan mencoba menjelaskan bagaiaman membuat modular model untuk Codeigniter, yang nantinya masih bisa dikembangkan oleh teman-teman semua, langkah pertama yaitu membuat sebuah file baru pada folder application/library dengan nama My_Model.php, berikut secript beserta penjelasanya

1

2

3

4

5

6

7

8

9

10

11

12

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

class My_Model extends CI_Model{

    var $table;

    function __construct(){

        parent::__construct();

        $this->load->database();

    }

    #fungsi Insert Data

    function _insertData($data)

    {

        $this->db->insert($this->table, $data);

Page 2: Modular Model Di Codeigniter

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

        return true;

    }

    #function untuk mencari satu data

    function _getOne($field,$id){

        $this->db->where($field,$id);

        $query = $this->db->get($this->table);

        $hasil = $query->result_array();

        return (count($result) > 0 ? $result[0] : NULL);

    }

    #fungsi untuk mengambil semua data

    function _getAll($sort='id', $order='asc'){

        $this->db->order_by($sort,$order);

        $hasil = $this->db->get($this->table);

        return $hasil->result_array();

    }

    #function update data

    function _updateData($field,$id,$data){

        $this->db->where($field,$id);

        $this->db->update($this->table, $data);

        return true;

    }

    #fungsi menghapus data

    function _deleteData($field, $id){

Page 3: Modular Model Di Codeigniter

38

39

40

41

42

43

44

45

46

        $this->db->where($field, $id);

        $this->db->delete($this->table);

        return true;

    }

}

?>

Penggunaan

Page 4: Modular Model Di Codeigniter

Berikut cara penggunaanya, buat sebuah model di folder applications/models/ dengan nama terserah, pada contoh ini saya meberikan nama app_model.php, pada model ini kita tidak lagi mengextends kan pada CI_Model, tetapi pada Library model yang telah kita buat sebelumnya, seperti contoh

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?php

/*

class App model yang kita extends pada My_Model

yang ada di folder application/library/My_Model.php

*/

class App_model extends My_model{

    /* Konstruktor dari Model*/

    function __construct(){

        parent::__construct();

        $this->table = 'tbl_buku';

    }

}

?>

Page 5: Modular Model Di Codeigniter

Kemudian Pada Controller tinggal memanggil Operasi fungsi yang sudah ada pada library My_Model.php, tanpa harus melalui banyak pengetikan kode

1

2

3

4

5

6

7

8

9

<?php

class App_controller extends CI_Controller{

    function __construct(){

        parent::__construct();

    }

    function index(){/*fungsi index*/}

    function nama_fungsi(){

Page 6: Modular Model Di Codeigniter

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

        $this->load->model('app_model');

        $buku = array();

        $buku['judul'] = 'Contoh Judul Buku';

        $buku['pengarang'] = 'Khairu AQsara';

        /*untuk menyimpan data */

        $this->app_model->_insertData($buku);

        /* mengambil satu record */

        $data = $this->app_model->_getOne('kd_buku',$this->uri->segement(3));

        echo $data['judul'];

        /*Mengambil semua data*/

        $data = $this->app_model->_getAll('judul','asc');

        print_r($data);

        /* Update Data*/

        $this->app_model->_updateData('kd_buku',$this->uri->segement(3),$buku);

        /*Delete Data*/

        $this->app_model->_deleteData('kd_buku',$this->uri->segement(3));

    }

}

?>

Page 7: Modular Model Di Codeigniter

Denngan begitu baris kode yang biasanya banyak bisa jadi lebih sedikit, karena kita tidak haris menuliskan banyak fungsi dalam model yang ada, model hanya memiliki satu fungsi yaitu __construt(), dengan begitu kita bisa menggunakan fungsi-fungsi yang ada pada My_Model.php