PHPMaker menyediakan fitur Debug yang bermanfaat untuk menampilkan SQL yang dieksekusi oleh Aplikasi Web. Di bawah dari setiap SQL tersebut akan ditampilkan informasi jumlah error SQL (jika ada). Selain itu, fitur Debug ini juga bermanfaat untuk mengetahui waktu pemrosesan halaman, yaitu sejak halaman pertama kali dimuat sampai sistem selesai memuat seluruh konten halaman tersebut.
Sayangnya untuk fitur yang menampilkan informasi waktu pemrosesan halaman tidak dapat ditampilkan tersendiri. Fitur ini hanya bisa dilihat jika Anda sebagai Web Developer mengaktifkan fitur Debug di Aplikasi Web yang dihasilkan oleh PHPMaker. Untuk mengaktifkan fitur Debug di sisi Aplikasi Web, Anda cukup mengubah kode berikut yang terdapat di file ewcfg*.php:
// Show SQL for debug define("EW_DEBUG_ENABLED", FALSE, TRUE); // TRUE to debug
menjadi seperti ini:
// Show SQL for debug define("EW_DEBUG_ENABLED", TRUE, TRUE); // TRUE to debug
Atau Anda juga bisa mengaktifkan fitur Debug tanpa harus mengubah kode tersebut di file konfigurasi tadi, yaitu dengan mengaktifkan item pengaturan Debug dari menu Tools -> Advanced Settings pada project PHPMaker Anda, lalu setelah itu generate ulang file ewcfg*.php yang terdapat di bawah Other files dari jendela Generate.
Kembali kepada fitur informasi waktu pemrosesan halaman. Bagaimana cara kita menampilkan informasi waktu pemrosesan halaman tersebut tanpa harus mengaktifkan fitur Debug tadi?
Jangan khawatir, karena lagi-lagi PHPMaker memberikan keleluasaan kepada Web Developer untuk mengimplementasikannya melalui penggunaan fitur Server Events. Itu artinya kita sebagai Web Developer dapat menampilkan informasi ini tanpa harus mengaktifkan fitur Debug di Aplikasi Web yang dihasilkan oleh PHPMaker.
Anda hanya cukup menambahkan kode PHP berikut ke dalam dua server event Page_Load dan Page_DataRendered dari halaman yang kita inginkan (contoh: di bawah List Page). Selengkapnya kode tersebut menjadi seperti ini:
// Page Load event function Page_Load() { //echo "Page Load"; $MyTimer = new cTimer; $GLOBALS["StartTime"] = $MyTimer->GetTime(); }
// Page Data Rendered event function Page_DataRendered(&$footer) { // Example: //$footer = "your footer"; $MyTimer = new cTimer; $MyTimer->EndTime = $MyTimer->GetTime(); $footer = "<div class=\"alert alert-info ewAlert\">Page processing time: " . ($MyTimer->EndTime - $GLOBALS["StartTime"]) . " seconds</div>"; }
Perhatikanlah bahwa kita menggunakan server event Page_Load untuk menampung waktu awal, karena server event ini yang pertama kali dijalankan di halaman yang kita inginkan. Kita menggunakan class cTimer yang sudah disediakan oleh PHPMaker.
Selanjutnya kita menggunakan server event Page_DataRendered untuk menampung waktu akhir, karena server event ini yang terakhir dieksekusi di bagian akhir dari halaman yang kita inginkan dimuat. Untuk menampilkannya, maka kita cukup menggunakan variabel $footer.
Alternatif selain menggunakan kode tadi, kita bisa tetap mengaktifkan fitur Debug di Aplikasi Web, tapi dengan catatan kita harus menyembunyikan output SQL-nya. Caranya ternyata sangatlah mudah, yaitu cukup dengan menyisipkan kode berikut ke dalam bagian Global Code:
$ADODB_OUTP = function() {};
Hasilnya, maka di bagian bawah dari halaman List Page akan ditampilkan informasi waktu pemrosesan halaman.
Wow, PHPMaker memang benar-benar luar biasa fleksibelnya! 😀
Tinggalkan Balasan