Seperti yang sudah kita bahas sekilas di artikel sebelumnya, PHPMaker 2023 mulai fokus menggunakan AJAX, untuk menampilkan, menambah, mengubah, menghapus, dan mencari data di aplikasi web yang dihasilkannya.
Salah satu fitur yang paling saya sukai dari pemakaian AJAX ini adalah, PHPMaker 2023 selalu menyesuaikan URL dari halaman yang menampilkan hasil proses terakhir.
Waktu saya mengetahui fitur AJAX mulai diperkenalkan pada PHPMaker 2023, yang saya bayangkan pertama sekali itu adalah, berarti URL-nya akan menjadi statis dong? Tidak bisa lagi seperti URL yang digunakan oleh PHPMaker selama ini? Yang selalu dapat menandai kondisi data berdasarkan URL-nya.
Ternyata tidak Saudara-saudara! PHPMaker diam-diam sudah mensolusikannya. Mereka sudah menangani URL yang dinamis meskipun kita sedang menggunakan fitur AJAX untuk memuat konten halaman utama di aplikasi web yang dihasilkannya.
Tidak seperti aplikasi web lainnya yang hanya menampilkan URL yang statis, aplikasi web yang dihasilkan oleh PHPMaker 2023 ternyata sudah menangani kekhawatiran saya tadi, dan juga beberapa Web Developer lain yang sering menyayangkan URL yang statis tadi jika sebuah aplikasi web menggunakan AJAX.
Supaya tidak bingung, mari kita ambil contoh nyata. Saat pengguna akhir melakukan browsing dari halaman pertama ke halaman kedua di table Models, maka PHPMaker 2023 akan menampilkan URL sesuai kondisi yang terakhir, yaitu saat berada di halaman kedua: modelslist?page=2
Ketika pengguna akhir melakukan browse kembali ke halaman pertama, maka URL akan berubah menunjuk ke halaman pertama, yaitu: modelslist?page=1. Saat proses perpindahan antara halaman tadi terjadi, sistem tidak memuat ulang semua konten halaman secara penuh, tapi hanya area konten utamanya saja.
Contoh lainnya, saat pengguna akhir melakukan browsing per satu record, misalnya dari record kedua menuju ke record ketiga, maka URL yang ditampilkan sesuai dengan data record ketiga tadi, yaitu: modelsview/3. Jika maju ke record berikutnya, berubah menjadi modelsview/4. Demikian seterusnya. Pada saat itu terjadi, sistem hanya memuat konten utama saja; tidak seluruh halaman.
Sangat terasa hasilnya ketika kita tidak menggunakan Modal Dialog untuk membuka halaman Tambah, Ubah, atau Pencarian. Jadi, kita menggunakan cara klasik untuk memuat halaman yang berbeda, dimana setiap halaman ditampilkan terpisah.
Itu jika kita tidak menggunakan Modal Dialog untuk fitur CRUD-nya. Apalagi jika kita menggunakan Modal Dialog untuk CRUD-nya, maka ketika kita berhasil menyimpan data, maka data di halaman List yang berada di bawah form Modal Dialog tadi akan otomatis menyesuaikan tanpa harus memuat ulang halaman List tadi.
Sekilas kita mengira bahwa karena URL di browser menyesuaikan dengan kondisi terakhir, maka seluruh konten halaman yang ditampilkan dimuat ulang oleh sistem. Ternyata tidak Saudara-saudara! Semua itu ditangani oleh AJAX.
Jadi, hanya area utama halaman saja yang dimuat. Sedangkan untuk area Header, Footer, Sidebar tidak ikut dimuat ulang!
Yang lebih kerennya lagi, semua itu bisa kita hasilkan, cukup hanya dengan memasukkan satu baris kode PHP berikut ke dalam server event Table_Load:
$this->UseAjaxActions = true;
Yep. Hanya satu baris kode PHP itu saja, kita sudah bisa membuat fitur AJAX mulai dari saat data ditampilkan di halaman List, mem-browsing halaman berikutnya/sebelumnya pada halaman List, saat menambah data, mengubah data, mencari data, dan seterusnya.
Selebihnya sudah ditangani oleh PHPMaker seperti biasa. Tidak perlu lagi pusing-pusing bagaimana cara menciptakan fitur CRUD mulai dari nol. Semuanya sudah dihasilkan oleh PHPMaker.
Tidak hanya itu saja. Dengan adanya kode di atas tadi, maka kita bisa menentukan hanya satu atau beberapa table tertentu saja yang menggunakan AJAX untuk menghasilkan fitur CRUD. Artinya, kita tidak harus mengimplementasikan kepada semua table.
Kembali ke URL yang otomatis menyesuaikan di PHPMaker 2023 tadi. Ini jugalah salah satu pembeda aplikasi web yang dihasilkan oleh PHPMaker dengan aplikasi web lainnya. Aplikasi lainnya yang menggunakan AJAX, biasanya menggunakan URL yang statis, alias tidak menyesuaikan dengan kondisi terakhir dari data yang diproses.
Lantas apa perlunya sih URL tadi menyesuaikan dengan kondisi terakhir? Ya perlulah! Bayangkan kalau Anda ingin membagikan atau menandai data sesuai dengan kondisi terakhir berdasarkan URL-nya. Jika URL-nya statis, bagaimana cara kita mengetahui kondisi terakhir tadi?
Di situlah pentingnya URL tersebut harus menyesuaikan dengan kondisi data terakhir. Tanpa URL yang selalu up-to-date tadi, maka tidak akan mungkin Anda untuk menandai suatu halaman sesuai kondisi yang kita harapkan.
Satu lagi bukti nyata mengapa kita sangat disarankan untuk selalu menggunakan versi terbaru PHPMaker.
topo mengatakan
dulu saya pernah cobain instal aplikasi dari sourceforge namanya faves-erp yg dibuat pakai phpmaker yg sudah jadul (lupa phpmaker versi berapa keterangannya), tapi kayaknya ga pernah diupdate. kalau ada aplikasi yg sudah jadi buatnya pakai phpmaker jadul begitu, gimana caranya kalau mau coba bikin yg baru dari aplikasi favess-erp itu pakai phpmaker yg baru? terimakasih.
Masino Sinaga mengatakan
Selama database dengan seluruh struktur table di dalamnya lengkap, sangat mudah membuat ulang di PHPMaker versi terbaru.
Tinggal mengacu dari business-logic di aplikasi lama, maka proses implementasi di PHPMaker versi terbaru seharusnya tidak sulit, bahkan kita bisa mengembangkannya dengan fitur-fitur terbaru yang belum ada di PHPMaker versi lama tadi.