Belajar Online 31 Cara murah dan mudah dalam belajar

19 Januari 2014

Belajar online - ATK Framework lesson 1

                Setelah kita selesai belajar cara menginstal ATK Framework, sekarang belajar cara menggunakannya. Berdasarkan wiki ATK terdapat 10 lesson untuk memulai belajar ATK. Kali ini kita mulai dari lesson 1. Di dalam folder ATK terdapat banyak sekali folder, di folder modules lah semua script aplikasi akan kita letakkan.
 Untuk lesson 1 folder yang kita pakai adalah /modules/lesson1 (penamaan folder lesson1 tidaklah baku bisa kita namakan lain sesuai dengan keinginan kita ). Apabila kita akan mengganti dengan nama lain jangan lupa edit script di file /modules/config.modules.inc. Buka filenya cari lesson1 dan ganti dengan nama folder baru kita tadi. Fungsi dari file tersebut adalah untuk mengaktifkan atau menonaktifkan module yang ada. Misal kita sekarang belajar lesson1 maka kita bisa menonaktifkan module yang lain dengan menghapus atau mengcomment folder yg lain, contoh :

  //module("lesson_utils");
  module("lesson1");
  //module("lesson2");
  //module("lesson3");
 //module("lesson4");
 //module("lesson5");
  //module("lesson6");
  //module("lesson7");
  //module("lesson8");
  //module("lesson9");
  //module("lesson10");

                Dengan mengganti script seperti diatas maka semua module kecuali lesson1 tidak aktif (tidak muncul di menu).

                Untuk langkah pertama belajar lesson1 , buka file /modules/lesson1/class.employee.inc. Kemudian ubah atkmetanode menjadi atknode.

                “ class employee extends atkMetaNode ” -> “class employee extends atkNode”

Kenapa harus diubah padahal dari awal kita download file tersebut  menggunakan class atkmetanode. Atkmetanode merupakan class terbaru dari atk dan penulisannya lebih simple dari atknode. Karena kita sekarang lagi belajar dari awal penggunaan ATK maka sebaiknya kita memakai class atknode untuk lebih memudahkan dalam pemahaman dasar dari ATK (Alasan sebenarnya sih karena penulis lebih paham penggunan atknode daripada atkmetanode J ).
 Setelah dirubah, hapus semua script yang ada di dalam class employee dan diganti dengan script atknode  sehingga akan menjadi seperti ini :

class employee extends atkNode
{
var $namaNode = 'employee';
 var $namaTabel = 'lesson1_employee';
function employee()
 {
$this->atkNode($this->namaNode, NF_NO_EXTENDED_SEARCH | NF_ADD_LINK);
$this->add(new atkAttribute("id", AF_AUTOKEY | AF_HIDE_LIST));
$this->add(new atkAttribute("name", AF_OBLIGATORY | AF_SEARCHABLE))->setLabel("Name");
$this->add(new atkDateAttribute("hiredate", AF_SEARCHABLE | AF_HIDE_LIST))->setLabel("Hiredate");
$this->add(new atkTextAttribute("notes", AF_SEARCHABLE))->setLabel("Notes");
$this->add(new atkNumberAttribute("salary",AF_SEARCHABLE ,12, 0))->setLabel('Salary');
$this->setTable($this->namaTabel);
 }

}
                Untuk melihat hasilnya , buka aplikasinya dan login memakai user administrator
                                User = administrator
                                Password = demo

                Setelah login maka akan masuk ke aplikasinya

               

                Karena kita belajar lesson 1, klik menu 1-basic -> employee, maka akan muncul tampilan untuk node employee (mode list)


               
                Selesai sudah kita membuat aplikasi CRUD (create read update delete ) employee. Mudah dan cepat kan, hanya dengan beberapa baris script kita sudah bisa membuat aplikasi CRUD.
Sekarang kita akan mempelajari script yang ada didalam file class.employee.inc
variable nama node
var $namaNode = 'employee';

variable nama table
var $namaTabel = 'lesson1_employee';

function utama  dari class employee (nama function harus sama dengan nama class)
function employee()   

Menambahkan fungsi atknode kedalam function employee (kalau tidak salah J, soalnya penulis juga kurang paham fungsi dari script ini tetapi script ini harus selalu ada ketika kita membuat sebuah node)
NF_NO_EXTENDED_SEARCH, NF_ADD_LINK adalah flag untuk node
NF_NO_EXTENDED_SEARCH = flag untuk menghilangkan fungsi extended search ketika mode list
NF_ADD_LINK = flag untuk membuat link tambah data ketika mode list
$this->atkNode($this->namaNode, NF_NO_EXTENDED_SEARCH | NF_ADD_LINK);

Menambahkan attribute ke dalam node.
atkAttribute,atkDateAttribute, atkTextAttribute, atkNumberAttribute merupakan attribute yang ada di ATK,
atkAttribute = attribute text biasa (untuk type data varchar).
atkDateAttribute = attribute tanggal (untuk type data date).
atkTextAttribute = attribute text (untuk type data text).
atkNumberAttribute = attribute nomor (untuk type data int,float,decimal)
 Id,name,hiredate,notes,salary merupakan nama field didalam table employee.
AF_AUTOKEY , AF_HIDE_LIST, AF_OBLIGATORY, AF_SEARCHABLE adalah flag yang digunakan di attribute tersebut.
AF_AUTOKEY = flag untuk primary key.
AF_HIDE_LIST = flag untuk menyembunyikan field tersebut ketika di mode list .
AF_OBLIGATORY = flag untuk membuat field tersebut bersifat mandatory (tidak boleh kosong).
AF_SEARCHABLE = flag untuk membuat field tersebut ada fungsi pencarian ketika di mode list.
setLabel("Name") = untuk member label pada field tersebut, apabila tidak diberi fungsi ini maka atk akan memberi label sesuai dengan nama field.

$this->add(new atkAttribute ("id", AF_AUTOKEY | AF_HIDE_LIST));
$this->add(new atkAttribute("name", AF_OBLIGATORY | AF_SEARCHABLE))->setLabel("Name");
$this->add(new atkDateAttribute("hiredate", AF_SEARCHABLE | AF_HIDE_LIST))->setLabel("Hiredate");
$this->add(new atkTextAttribute("notes", AF_SEARCHABLE))->setLabel("Notes");
$this->add(new atkNumberAttribute("salary",AF_SEARCHABLE ,12, 0))->setLabel('Salary');

Menentukan table yg digunakan dalam node tersebut
$this->setTable($this->namaTabel);

Selesai sudah kita belajar lesson1 untuk ATKFramework.





                                             

                                                                                

Tidak ada komentar: