Mengenal Server Events Di Phpmaker

Sering kali pertanyaan dan cemoohan berikut di bawah ini saya terima:


– Apakah PHPMaker bisa membuat fungsi CRUD yang kompleks untuk menambah atau mengubah data di tabel lain?


– Saya tidak bisa membuat arahan validasi sendiri, tapi hanya bisa menggunakan validasi bawaan PHPMaker saja!


– Apakah PHPMaker bisa menyimpan data yang akan dihapus ke tabel lain sebelum data tersebut dihapus?


– Aplikasi Web yang dihasilkan oleh PHPMaker sangat kaku, lantaran harus mengikuti arahan yang sudah ada!


– Ah, PHPMaker itu membuat Programmer menjadi malas lantaran membatasi kreativitas Programmer!


– …



Dan masih banyak lagi pertanyaan-pertanyaan dan cemoohan-cemoohan lainnya yang sejenis dengan itu. ?



Memang bagi mereka yang belum mengenal kemampuan PHPMaker, masuk nalar saja bila beranggapan mirip di atas tadi. Biasanya, mereka langsung menjadi negative-thinking terhadap PHPMaker. Sebagian lainnya ada yang merasa cemburu atau jealous dengan kemampuan dan fleksibiltas PHPMaker. Di beberapa forum diskusi yang dulu pernah saya ikuti membahas PHPMaker, banyak yang menganggap seolah PHPMaker itu merupakan musuh besar Programmer atau lebih tepatnya Web Developer. Padahal, PHPMaker justru sanggup dijadikan sebagai partner atau mitra Web Developer dalam membangun Aplikasi Web.



Menanggapi pertanyaan/cemoohan dan semua kondisi di atas, saya hanya bisa tersenyum saja. Kadang-kadang geli juga rasanya menghadapi orang-orang yang berpikiran mirip tadi. Mengapa? Karena semua itu ternyata tidak benar. Untuk itulah mulai ukiran pena ini saya akan menjelaskan beberapa fitur unggulan PHPMaker yang sayang sekali bila tidak dioptimalkan oleh Web Developer.



PHPMaker dibuat dengan fleksibilitas yang tinggi. Ada begitu banyak pilihan dan ruang yang disediakan oleh PHPMaker buat Web Developer dalam mengembangkan Aplikasi Web-nya tanpa harus mengubah Template atau memodifikasi file script yang dihasilkannya. Artinya, Web Developer sanggup menambahkan business logic secara dinamis tanpa harus menulis arahan PHP secara langsung ke dalam file .php. Web Developer cukup menulis sedikit arahan dari dalam project PHPMaker. Fitur itu dikenal dengan nama Server Events di PHPMaker.



Seperti namanya, Server Events adalah event-event atau insiden yang terjadi di sisi server. Secara lebih detail, event-event ini akan dipanggil atau dieksekusi di sisi server. Karena kita fokus dan lebih spesifik kepada arahan PHP, maka event-event ini berisi arahan PHP yang dijalankan di sisi web server. Ada begitu banyak Server Events yang tersedia di PHPMaker, dan semua arahan PHP yang ditulis di potongan Server Events akan secara otomatis disimpan di dalam project PHPMaker. Dengan contoh mirip ini, maka arahan yang sudah ditulis Web Developer menjadi lebih simpel dimengerti dan dipelihara ketika akan dikembangkan di waktu mendatang.



Sampai di sini, rasanya sudah sangat terang apa definisi dari Server Events di PHPMaker.



Nah, kembali kepada pertanyaan-pertanyaan dan cemoohan-cemoohan di atas tadi. Server Events di PHPMaker disediakan untuk mengatasi semua kekhawatiran tadi. Web Developer diberi kesempatan yang sangat luas untuk berinovasi dan berkreatifitas dengan menuliskan hanya sedikit arahan PHP saja di potongan Server Events. Melalui Server Events, Web Developer sanggup menulis hanya beberapa baris arahan saja untuk mengimplementasikan business logic untuk Aplikasi Web yang akan dibangunnya. Web Developer tidak perlu mengubah Template atau file script yang sudah dihasilkan oleh PHPMaker bila ingin mengubah/menambah fitur di sisi Aplikasi Web.



Contoh, Web Developer sanggup membuat fungsi CRUD yang sangat kompleks dengan menulis arahan di Server Events. Jika Pengguna sedang menginput kemudian menyimpan data gres di tabel A, maka di dikala itu sistem akan mengubah data terkait di tabel B dan C, kemudian menambahkan data tersebut ke tabel D, dan terakhir akan menghapus data versi yang lama di tabel E (hanya bila sebelumnya data tersebut sudah ada). Semua business logic tadi bisa diatasi dengan sangat simpel dan cepat dengan menulis beberapa baris arahan PHP di server event yang bernama Row_Inserting.



Server Events juga sanggup digunakan untuk menambahkan arahan PHP berisi validasi khusus yang ditentukan oleh Web Developer. Kadang-kadang, Web Developer membutuhkan proses validasi embel-embel yang harus dilakukan di sisi server, di samping validasi bawaan yang sudah disediakan oleh PHPMaker. PHPMaker memiliki Server Event yang bernama Form_CustomValidate, dan tersedia untuk halaman Add, Edit, Update, dan Search. Web Developer sanggup menyisipkan arahan PHP yang berisi perintah untuk memvalidasi data sesuai dengan kebutuhannya.



Beberapa contoh Server Events di PHPMaker yang paling sering digunakan, seperti:




  • Database_Connecting, untuk membuat koneksi Database yang dinamis di localhost dan di remote server.


  • Row_Rendered, untuk memanipulasi output atau tampilan baris Record.


  • Row_Inserting, untuk menyisipkan business logic dikala Pengguna sedang menambah Record baru.


  • Row_Inserted, untuk menyisipkan business logic dikala Pengguna berhasil menambah Record baru.


  • Row_Updating, untuk menyisipkan business logic dikala Pengguna sedang mengubah Record yang sudah ada.


  • Row_Updated, untuk menyisipkan business logic dikala Pengguna berhasil mengubah Record yang sudah ada.


  • Row_Deleting, untuk menyisipkan business logic dikala Pengguna sedang menghapus Record.


  • Row_Deleted, untuk menyisipkan business logic dikala Pengguna berhasil menghapus Record.



Masih ada banyak Server Event lainnya yang disediakan oleh PHPMaker. Selengkapnya bisa Anda lihat dari topik Server Events and Client Scripts pada sajian Help yang disediakan oleh PHPMaker.



Dengan adanya Server Events, maka Web Developer menjadi lebih simpel dan cepat memahami arahan yang sudah ditambahkannya ketika project PHPMaker akan diperbarui di waktu yang akan datang. Mengapa? Karena fitur Server Events dibuat persis mirip sebuah kerangka kerja yang melekat kepada object Table atau View yang digunakan oleh PHPMaker.



Ketika sebuah project PHPMaker dijalankan kembali, maka semua arahan di Server Events yang dulu sudah pernah ditulis oleh Web Developer akan ditampilkan kembali. Web Developer tidak perlu sama sekali melihat ke dalam file script di sisi Aplikasi Web. Bayangkan jikalau ini Anda lakukan pada Aplikasi Web yang memiliki ratusan atau bahkan ribuan file! Bahkan, Web Developer yang lain pun tetap simpel memahami business logic yang terdapat di setiap arahan pada Server Events cukup melalui project PHPMaker saja.



Kreativitas Web Developer pun justru bisa semakin berkembang, lantaran mereka menjadi lebih fokus untuk mengimplementasikan business logic apapun yang mereka inginkan. Bahkan, mereka bisa mengkombinasikan pemakaian beberapa Server Events untuk memenuhi kebutuhannya. Mereka tidak lagi disibukkan untuk memikirkan hal-hal teknis mirip bagaimana cara mengimplementasikan kebutuhannya di dalam Aplikasi Web yang dibangun dengan PHPMaker.



Beberapa contoh pengimplementasian Server Events sanggup dilihat melalui artikel berikut:




  • Membuat Koneksi Database yang Fleksibel di PHPMaker
    function Database_Connecting(&$info) {
    if (ew_CurrentUserIP() == "127.0.0.1") { // setting koneksi database di komputer localhost
    $info["host"] = "localhost";
    $info["user"] = "aaa"; // sesuaikan dengan username database di komputer localhost
    $info["pass"] = "bbb"; // sesuaikan dengan password database di komputer localhost
    $info["db"] = "ccc"; // sesuaikan dengan nama database di komputer localhost
    } else { // setting koneksi database untuk komputer server
    $info["host"] = "www"; // sesuaikan dengan ip address atau hostname komputer server
    $info["user"] = "xxx"; // sesuaikan dengan username database di komputer server
    $info["pass"] = "yyy"; // sesuaikan deengan password database di komputer server
    $info["db"] = "zzz"; // sesuaikan dengan nama database di komputer server
    }
    }



  • Mudahnya Menyembunyikan Item Menu Aplikasi Web dari PHPMaker
    function MenuItem_Adding(&$Item) {
    //var_dump($Item);
    // Return False if sajian item not allowed
    if ($Item->Text == "Download") {
    return IsLoggedIn();
    } else {
    return TRUE;
    }
    }



  • Mudahnya Menerapkan Hak Akses yang Dinamis di Aplikasi Web dari PHPMaker
    function UserLevel_Loaded() {
    $this->AddUserPermission("Sales", "categories", EW_ALLOW_ADD); //tambahkan Hak Akses Tambah (Add)


        $this->AddUserPermission("Sales", "categories", EW_ALLOW_EDIT); //tambahkan Hak Akses Ubah (Edit)
    }



  • Mudahnya Memodifikasi Kriteria Pencarian di Aplikasi Web dari PHPMaker
    function Recordset_SearchValidated() {
    $this->MyField1->AdvancedSearch->SearchValue = "data yang dicari"; // nilai pencarian
    }



  • Mudahnya Mengatasi Konflik Saat Update Data di Aplikasi Web dari PHPMaker
    // Row Update Conflict event
    function Row_UpdateConflict($rsold, &$rsnew) {
    // Masukkan arahan Anda di sini
    // Untuk mengabaikan konflik, kembalikan nilai FALSE
    return TRUE;
    }




Sumber https://ilmukomputer.org/


Popular posts from this blog

Membuat Aplikasi Perpustakaan Dengan Java Netbeans

Cara Run C++ Di Sublime Text

Cara Redirect Php