Codeigniter

Profiler berfungsi untuk menampilkan beberapa informasi yang diperlukan dalam pengembangan dan debugging aplikasi.

Dengan profiler kita bisa melihat:

  • Waktu yang dibutuhkan untuk eksekusi controller
  • Query apa saja yang dieksekusi
  • Kecepatan ekekusi query
  • Data yang terkirim
  • dan sebagainya.

Informasi ini sangat berguna ketika kita membangun aplikasi dengan CodeIgniter.

Mengaktifkan Profiler CodeIgniter

Cara mengaktifkan Profiler di CodeIgniter sangatlah mudah, cukup dengan menjalankan fungsi ini di controller.

$this->output->enable_profiler(TRUE);

Maka kita akan mendapatkan informasi seperti berikut ini:

Profiler CodeIgniter

Kemudian, agar Profiler aktif di setiap method atau fungsi, letakan kode tersebut di dalam konstruktor:

function __construct(){
    parent::construct();

    // untuk debugging
    $this->output->enable_profiler(TRUE);
}

Menonaktifkan Profiler CodeIgniter

Cara menonaktifkannya, kita bisa menghapus fungsi tersebut atau mengubah parameternya menjadi false.

$this->output->enable_profiler(FALSE);

Tapi nanti masalahnya, saat kita mau deploy ke server…

…kita harus mengubah setiap fungsi profiler menjadi FALSE.

Hal ini tidak efektif.

Lalu bagaimana solusinya?

Solusinya kita bisa memanfaatkan variabel ENVIRONTMENT.

$this->output->enable_profiler(ENVIRONMENT == 'development');

Jadi jika nilai variabel ENVIRONTMENT adalah development (localhost), maka dia akan menghasilkan nilai TRUE.

Tapi kalau nilai variabel ENVIRONTMENT adalah production, maka akan menghasilkan nilai FALSE.

Kita bisa membuat variabel ENVIRONTMENT di dalam index.php:

switch($_SERVER["HTTP_HOST"]){
  case "localhost":
      define('ENVIRONMENT', 'development');
  break;
  default:
      define('ENVIRONMENT', 'production');
  break;
}