Sebelum men-generate Aplikasi Web melalui PHPMaker, maka kita sebagai Web Developer dapat menentukan pengaturan Index page dan Start page yang terdapat di menu tab Generate. Meskipun dari namanya saja sudah berbeda, tapi sekilas kedua pengaturan itu mirip dan saling terkait.
Supaya kita mengetahui perbedaan dan keterkaitan di antara keduanya, maka kita perlu membahas kedua pengaturan ini lebih detail. Mari simak penjelasan berikut ini supaya lebih jelas dan terang benderang, hehe… 🙂
Di PHPMaker versi 10 dan sebelumnya, istilah Index page dikenal juga sebagai Default page. Sejak versi 11, PHPMaker menggunakan istilah Index page untuk lebih memudahkan Web Developer memahami nilai yang disarankan untuk pengaturan ini. Karena nama pengaturannya adalah Index page, maka nilai standar yang disarankan oleh PHPMaker adalah index.php. Meskipun demikian, kita dapat menggantinya dengan nama file lain yang kita inginkan.
Penting untuk dipedomani, bahwa Index page adalah file yang akan dibangkitkan oleh PHPMaker sebagai pusat halaman yang digunakan untuk me-redirect Pengguna ke halaman tertentu, khususnya saat Aplikasi Web pertama kali diakses oleh Pengguna.
Contoh, ketika Pengguna mengakses alamat http://www.demo11.ilovephpmaker.com, maka sistem akan mengakses file index.php tadi, sehingga alamat selengkapnya di browser otomatis berubah sendiri menjadi: http://demo11.ilovephpmaker.com/index.php (padahal kita sama sekali tidak mengetikkan index.php di bagian akhir dari alamat tadi).
Jika seandainya kita sebagai Web Developer menaruh kode PHP berikut ke dalam server event Page_Redirecting di bawah lokasi Server Events -> Other -> Default Page, sehingga kode selengkapnya menjadi seperti ini:
// Page Redirecting event function Page_Redirecting(&$url) { // Example: $url = "orderslist.php"; }
maka itu artinya PHPMaker akan menyertakan kode pada server event tersebut ke dalam file index.php yang di-generate olehnya. Akibatnya, jika misalnya halaman orderslist.php tadi membutuhkan otentikasi Pengguna sebelum dapat mengaksesnya, maka sistem akan otomatis me-redirect Pengguna ke halaman Login terlebih dulu, dan setelah login berhasil, maka sistem akan langsung me-redirect Pengguna kembali ke halaman orderslist.php, sehingga alamat yang terakhir diakses berubah menjadi http://demo11.ilovephpmaker.com/orderslist.php
Artinya, dalam contoh di atas tadi, setiap kali Pengguna mengakses alamat http://demo11.ilovephpmaker.com/index.php saat dia sudah berhasil login ke Aplikasi Web tersebut, maka sistem akan otomatis me-redirect Pengguna ke alamat http://demo11.ilovephpmaker.com/orderslist.php. Sampai di sini, bisa diikuti ‘kan? 🙂
Selanjutnya, mari kita bahas apa yang dimaksud dengan Start Page. Melalui pengaturan ini, kita sebagai Web Developer dapat menentukan halaman awal mana yang akan diakses oleh Pengguna setiap kali dia mengakses alamat Aplikasi Web kita. Contoh, jika kita memasukkan nilai pada pengaturan Start Page adalah home.php, dan nilai pada Index Page masih menggunakan index.php, maka ketika Pengguna mengakses alamat http://demo11.ilovephpmaker.com, sistem akan me-redirect Pengguna ke alamat http://demo11.ilovephpmaker.com/home.php.
Jika pengaturan Start Page kita kosongkan, maka Pengguna akan otomatis di-redirect ke halaman List dari tabel standar (dengan memberi tanda centang pada kolom Default dari menu tab Table di project PHPMaker), atau tabel pertama yang Pengguna dapat buka sesuai dengan hak aksesnya.
Pengaturan Start Page sangat berguna jika kita sebagai Web Developer ingin me-redirect Pengguna ke halaman tertentu yang misalnya tidak dibangkitkan oleh project PHPMaker, atau sebuah file kostum lainnya.
Dalam hal ini, kode yang kita tulis pada server event Page_Redirecting di atas tadi sama fungsinya dengan nilai yang kita tentukan pada bagian Start Page. Perbedaan utama di antara keduanya adalah, server event Page_Redirecting lebih fleksibel sifatnya, karena kita bisa menerapkan business logic yang kita inginkan. Contoh, jika Pengguna level Operator login, maka dia akan di-redirect ke halaman “orderslist.php”, jika Pengguna level Manager login, maka dia akan di-redirect ke halaman “productslist.php”, dan seterusnya, sehingga dari contoh kode di atas tadi menjadi seperti ini:
// Page Redirecting event function Page_Redirecting(&$url) { // Example: if (CurrentUserLevel() == 1) { // level akses Operator $url = "orderslist.php"; } elseif (CurrentUserLevel() == 2) // level akses Manajer $url = "productslist.php"; } else { // yang bukan Operator maupun Manajer $url = "home.php"; } }
Jika biasanya Anda mulai mengakses Aplikasi Web dengan index.php, maka cukup kosongkan nilai pada pengaturan Start Page. Jangan masukkan index.php pada pengaturan Start Page ini sementara di saat yang sama nilai pada pengaturan Index Page juga menggunakan index.php. Mengapa? Karena akan menyebabkan terjadinya perulangan (loop) yang tidak terhingga. Tentu kita tidak menginginkan hal ini terjadi di Aplikasi Web kita, bukan? 🙂
Oke, sekarang mari kita sedikit bereksperimen dengan menentukan kombinasi dari 3 nilai pengaturan berikut:
1. Index Page: index.php
2. Start Page: home.php
3. Kode pada server event Page_Redirecting di atas yang akan me-redirect Pengguna ke halaman orderslist.php di mana halaman ini membutuhkan otentikasi Pengguna melalui halaman Login terlebih dulu.
Tentu Anda ingin mengetahui, bagaimana hasilnya, bukan? Nah, jawabannya, jika misalnya kita mengakses alamat http://demo11.ilovephpmaker.com maka sistem akan me-redirect Pengguna ke halaman http://demo11.ilovephpmaker.com/login.php dan setelah Pengguna berhasil login, maka sistem akan me-redirect Pengguna ke halaman http://demo11.ilovephpmaker.com/orderslist.php.
Artinya, PHPMaker akan selalu memprioritaskan terlebih dulu kode yang kita tulis pada bagian server event Page_Redirecting daripada nilai pengaturan pada Start Page tadi. Jadi, jika misalnya kita hanya menentukan nilai pada pengaturan nomor 1 dan 2 di atas, sedangkan kita tidak menggunakan server event Page_Redirecting tersebut, maka sistem akan me-redirect Pengguna ke halaman http://demo11.ilovephpmaker.com/home.php.
Jika halaman home.php ini membutuhkan otentikasi Pengguna terlebih dulu, maka sistem akan tetap me-redirect Pengguna ke halaman Login. Setelah Pengguna berhasil login, maka sistem akan otomatis me-redirect Pengguna kembali ke alamat http://demo11.ilovephpmaker.com/home.php tersebut.
See? Betapa PHPMaker sudah memikirkan beberapa kemungkinan seperti ini, sebelum kita memutuskan untuk menentukan nilai pada pengaturan tersebut sesuai dengan kebutuhan di Aplikasi Web yang akan kita bangun. 🙂
Tinggalkan Balasan