Mengambil Request Di Framework CodeIgniter – PHP mempunyai fungsi tersendiri saat mengambil parameter dalam sebuah url. Saat kita menggunakan framework CodeIgniter, kita perlu melakukan penyesuaian-penyesuaian agar bisa memakainya. Hal ini dikarenakan saat kita menggunakan sebuah framework, kita harus mengikuti aturan-aturan tertentu.
Untuk mengambil request di framework CodeIgniter, kita akan memanfaatkan class input bawaan dari CI. Input class ini adalah salah satu class yang masuk dalam daftar autoload, jadi kita tidak perlu meload dari controller. Untuk menggunakan input class ini terdapat pilihan caranya, yaitu:
$this->input->get(‘elemen_request’) untuk mengambil request get
$this->input->post(‘elemen_request’) untuk mengambil request post
$this->input->get_pos(‘elemen_request’) untuk mengambil keduanya
Kenapa kita tidak menggunakan mekanisme $_GET dan $_POST dari PHP? Alasanya adalah saat kita memakai input class dari CodeIgniter, otomatis kita sudah melakukan filter terhadap karakter-karakter ataupun ancaman yang kemungkinan dilakukan oleh hacker.Jadi, kita tidak perlu lagi melakukan escape character terhadap variabel post atau GET yang kita tangkap.
Setiap kelebihan pasti ada kekurangan. Kekurangan dari class input CI tersebut adalah tidak disediakannya mekanisme untuk mengambil semua request, berbeda dengan PHP, $_POST berisi array semua request post; $_REQUEST berisi array semua request baik post maupun get.
Nah untuk mengatasi kekurangan ini, bisa kita atasi dengan sedikit trik. Caranya adalah menggunakan index dari $_POST, $_GET atau $_REQUEST PHP untuk mendapatkan nama elemen request yang dikirimkan. Perhatikan contoh penerapannya di bawah ini:
foreach(array_keys($_REQUEST) as $key){ // looping berdasarkan semua elemen $_REQUEST
$$key = $this->input->get_post($key); // masukkan data ke on-the-fly variable dengan class input CI
}
Simple bukan? Bagaimana perintah itu berjalan, mari kita bahas.
Fungsi native dari PHP, yaitu array_keys kita gunakan untuk mengambil list nama elemen request. Variable $$key yang adalah fasilitas variable variables PHP. Kita isi on-the-fly variable tersebut dengan value request yang kita ambil dengan class input CI -karena sudah lengkap dengan mekanisme kemanan.
Penggunaan Double Dollar sign pada PHP
Tanda double dollar sangat powerfull untuk membuat sebuah variabel dan langsung mengisikan value ke dalamnya secara otomatis. Perhatikan penggalan listing di baweah ini”
<?php $a = “amount”; $$a =1000; echo $amount; //echo’s 1000 on screen ?>
Pada contoh di atas, terlihat bahwa variabel $a memiliki nilai “amount”. Pada listing di bawahnya, penggunaan double dollar sign ($$) secara langsung mereferensikan nilai dari variabel tersebut, dalam haln ini amount. Jadi, sekarang ada sebuah variabel bernama $amount. Dengan penulisan $$a = 1000; variabel $amount di inisialisai dan diberi nilai 1000. Dengan ini kita secara otomatis membuat variabel baru dan langsung memberinya nilai.
Sebagai catatan untuk trik ini, global variable tidak bisa diterapkan di CI, karena $GLOBALS ini sudah dipakai sendiri oleh si CI. Karena itu kita tidak bisa meletakkan script pendek tersebut ke dalam function helper.
Demikian tutorial kali ini, semoga bermanfaat



















