Kolaborasi Flex dan Zend (Zend_Amf_Server)
Kolaborasi Flex dengan zend bisa dengan berbagai cara, salah satunya kita bisa gunakan zend_amf sebagai jembatannya, zend_db sebagai library koneksi db nya. Berikut cara yg bisa kita lakukan dengan menggunakan zend_amf.
Pertama, kita siapkan dulu zend kita, sehingga tersusun seperti simulasi gambar berikut (tergantung documentroot masing2) :
— di sini, documentroot saya berada di /media/disk-1/web —
direktori config berisi file konfigurasi (terutama dengan database dan management environment. contoh isi file nya seperti berikut :
[production] database.adapter = "PDO_MYSQL" database.params.host = "localhost" database.params.dbname = "dokumentasiflexzend" database.params.username = "root" database.params.password = "" [development : production] database.adapter = "PDO_MYSQL" database.params.dbname = "dokumentasiflexzend" [testing : production] database.adapter = "PDO_MYSQL" database.params.dbname = "dokumentasiflexzend"
direktori library berisi library zend 1.7.4
direktori models berisi model logic program, biasanya default nya mendefinisikan relasi table (walaupun sebenarnya bisa juga digunakan untuk kebutuhan logic yg lain)
contoh isi filenya : (ceritanya, kita punya table exampletable, field2nya id dan name)
fetchAll(); } else { $fetch = $this->fetchAll("name like '%$keyword%'"); } return $fetch; } } ?>
direktori services , untuk koneksitas terhadap flex, di sini saya buat contoh dua kelas, yakni ExampletableClass.php (pendefinisian field-field table) dan ExampletableService.php untuk penghubung antara models zend dan flex.
contoh source code ExampletableClass.php :
contoh source code ExampletableService.php
Exampletable = new Exampletable(); } public function getData($keyword=null) { $result = array(); $fetch = $this->Exampletable->getAll($keyword); foreach($fetch as $key=>$val) { $ExampletableObj = new ExampletableClass(); $ExampletableObj->id = $val->id; $ExampletableObj->name = $val->name; $result[] = $ExampletableObj; } return $result; } } ?>
File includer.php berisi source load konfigurasi :
database); Zend_Db_Table_Abstract::setDefaultAdapter($dbAdapter); $registry = Zend_Registry::getInstance(); $registry->configuration = $configuration; $registry->dbAdapter = $dbAdapter; $locale = new Zend_Locale('id'); Zend_Registry::set('Zend_Locale', $locale); ?>
Nah, file index.php berisi source untuk memanggil zend_amf :
addDirectory('./services/'); echo($server -> handle());
OK, Let’s go to Flex :
Pertama : Buat sebuah project flex :
Biasakan membuat project location tidak berada di documentroot kita, supaya aman. dan supaya load data cuma flex saja (tidak campur dengan zend).
Setelah itu , klik Next
maka akan tampil seperti berikut :
PERHATIKAN OUTPUT folder, jangan sampai menimpa aplikasi kita yang lain.
Klik Next dan Finish.
maka kita akan menjumpai direktori debugging seperti ini :
Langkah selanjutnya adalah membuat file konfigurasi berbentuk xml untuk compiler setting sehingga tampil seperti berikut :
contoh isi file service-config.xml sebagai berikut :
*
Nah, sekarang, setting compilernya , dengan cara, klik kanan project kita, klik properties, pilih flex compiler, tambahkan -services “services-config.xml” :
klik OK
Let’s coding in flex :
<!-- remote object untuk meremote service -->
Jika tampil seperti berikut, berarti kita sudah berhasil 🙂 :
Selamat mencoba .
[…] sekarang, untuk di flex nya, struktur nya sama seperti pada dokumentasi sebelumnya […]