Kenapa aku butuh framework , bukan kah framework bikin lebih lambat? benar aplikasi dari native coding jauh lebih cepat ketimbang menggunakan framework, tapi lihat dulu skala nya ... dan kepentingannya ...
Untuk skala proyek medium yang melibatkan lebih dari 2 programmer, saya jamin menggunakan framework itu recomended. Biasanya style coding masing masing programmer itu khan berbeda beda, nah framework ini setidaknya bisa membuat semacam standar coding, yang di sepakati. Sehingga jika kelak harus gonta ganti programmer ,it's easy .... maintenance pun jadi lebih mudah, walaupun tidak semudah java ya ... hehhe
siteManager itu terdiri dari :
- module system
- template system
- dan code plates
Module adalah inti dari siteManager, module berisi fungsi fungsi , berisi proses, module di siteManager memiliki extension.mod, module merupakan class, dan nama class nya harus sama dengan nama file nya, kayak java gitu ... halah ....
Module bisa menggunakan module lain,bisa menggunakan library lain, module yang sudah disediakan siteManager adalah member system, login system, smart grid, smart form, nanti akan kita coba praktek kan. Keistemewaan dari siteManager adalah pada smartGrid dan smartForm nya ... cun abis ,keren
TEMPLATE SYSTEM
ini mah sama dengan sistem templating lainnya, hanya saja pada siteManager templatenya tidak menyediakan blog untuk perulangan.
CODEPLATE
hampir sama dengan template cuman lebih smart, kita bisa menggabungkan module, template, sub template, sub dari sub template
Tiga itu inti dari siteManager, sedangkan library lainnya seperti session management(menggunakan database atau file), Koneksi DATABASE(bisa memilih lebih dari satu database ) dan lain lain juga sudah ada ...... dan tinggal gunakan
siteManager bisa di dowmload pada situs : www.roadsend.com
Cara instalasi dan contoh penggunaan siteManager
1. Download dulu siteManager nya
2. Setelah itu untuk konfigurasi pada siteManager ada 2 file yang akan kita config :
- localConfig.xsm
setting direktori modules, lib dan templates
setting koneksi database,kita bisa memiliki lebih dari satu koneksi
setting session management,kita bisa menentukan meggunakan file atau database,keunggulan jika make database adalah ,kita bisa menyimpan apapun termasuk object ke dalam session
- globalConfig.xsm
- common.inc
require(dirname(__FILE__)."/../siteManager/siteManager.inc");
$adminDir = dirname(__FILE__).'/';
$SM_siteManager->loadSite($adminDir.'config/localConfig.xsm');
$SM_siteManager->dbConnect();
// use sessions
$SM_siteManager->startSessions();
//load member info
//$SM_siteManager->sessionH->flushMemberInfo();
$memberInfo = $SM_siteManager->sessionH->getMemberData();
Buat Module Member Login
testing membuat module login system dengan menggunakan library memberSystem yang ada pada siteManager, dan menggunakan smartForm :
$loginForm =& $this->newSmartForm();
$loginForm->addDirective('postScript',$_SERVER['REQUEST_URI']);
$loginForm->addDirective('requiredBadMsg','Masih kosong,isi dulu');
$loginForm->addDirective('showRequiredHelp',true);
$loginForm->loadTemplate("loginForm");
$un =& $loginForm->add('userName','','text',true);
$un->configure(array('size'=>'15','maxLength'=>'10'));
$pw =& $loginForm->add('passWord','','text',true);
$pw->configure(array('size'=>'15','maxLength'=>'10','passWord'=>true));
$loginForm->add("submitButton","","submit");
$loginForm->setArgs('submitButton',array('value'=>' Login '));
// run the form
$loginForm->runForm();
// was data verified?
if ($loginForm->dataVerified()) {
$passMd5 = md5($loginForm->getVar('passWord'));
$user = $loginForm->getVar('userName');
// attempt to login
if ($this->sessionH->attemptLogin($user,$passMd5)) {
// they logged in succesfully
} else {
// unsuccessful login
}
} else {
$this->say($loginForm->output());
}
Gimana dengan smartForm di atas ... gak kelihatan jagoannya ya .... nah sekarang bikin modul registrasi masih dengan smartForm .... biasanya kalo pada registrasi form itu yang perlu di lakukan adalah pengecekan keunikan dari username, terus penulisan alamat email yang benar, pembatasan username, mengambil record dari database ... hal itu cukup mudah menggunakan smartForm
Untuk pengecekan field yang tidak boleh kosong cukup begini
$newForm->add('userName','Username','text',true,'',array('size'=>'15','maxLength'=>'20'));
untuk membatasi karakter yang boleh masuk cukup kasih ereg seperti ini
$newForm->addFilter('userName','preg','Username antara 3 sampai 20 karakter',array('pattern'=>"/^\w{".$this->directive['minUserNameLen'].",".$this->directive['maxUserNameLen']."}\$/"));
untuk pengecekan keunikan di database kita bisa tambahkan filter seperti ini
$newForm->addFilter('userName','dbUnique','Maaf, Username sudah terdaftar',array('tableName'=>$this->directive['tableUser'],'checkField'=>$this->directive['userLoginField']));
Untuk pengecekan email misalnya ..... cukup begini :
$newForm->addFilter('email','email','Alamat email tidak benar');
Dan masih banyak lagi fungsi filter lainnya ... dan kita pun bisa bikin sendiri liberary untuk filter ...
Form tersebut jika isian tidak sesuai dengan filter nya maka akan memunculkan informasi yang sesuai dengan pesan error yang kita tuliskan juga pada filter itu seperti : maaf username sudah terdaftar ...., simple ,fast !!!
Oh ya kurang nih gimana cara menampilkan data dari database ke dalam select box , begini doang
$kota =& $newForm->add('{nama field}','{caption}','dbSelect',false);
$kota->configure(array( 'dataBaseID' => {koneksi id database},
'tableName' => {nama tabel},
'whereClause' => {nama tabel},
'dataField' => {field primary key},
'viewField' => {kolom yang ingin di tampilkan},
'orderBy' => {order by}));
Yeahhhhhhhhhhhhhhhhh .... smartForm ...........so how about smartGRID...... ntar lagi ahhhh
No comments:
Post a Comment