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 .
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 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:
Posting Komentar