Kohana : Mengenal Controller dan Routing
Controller pada kohana diterapkan sebagai suatu kelas. Dalam pemograman berorientasi obyek kita mengenal tiga konsep utama yaitu enkapulasi, pewarisan, dan polymorpishm (perubahan bentuk). Kelas Controller memiliki fitur tersebut dan dilarang untuk mengubah apapun dalam direktori system.
Kohana telah menyediakan kelas super untuk diturunkan pada modul ataupun aplikasi, yaitu:
- Controller
Kelas Controller bertugas menerapkan metoda – metoda yang nantinya akan dieksekusi dan digunakan oleh kelas route, request, request_client. Controller berhubungan erat dengan kelas request dan response. - Controller_Template
Kelas Controller_Template merupakan kelas sub dari Controller. Kelas ini merupakan dasar kelas untuk anda yang ingin menggunakan sistem template pada view.
Secara relatif path controller aplikasi terletak di dalam path application/controller dan untuk modul terletak di modules/<nama_module>/classes/controller.
Relatif disini adalah pathnya, secara absolut untuk controller aplikasi adalah c:\xampp\htdocs\kohana\application\controller. Dalam tutorial ini, semua path bersifat relatif.
Controller pertama kita
Buatlah satu file baru dengan nama product.php di direktori application/controller. Kemudian isi file tersebut dengan
<?php class Controller_Product extends Controller { public function action_index() { $this->response->body('Daftar Produk'); } public function action_add() { $this->response->body('Tambah Produk'); } public function action_detail() { $id = $this->request->param('id'); $this->response->body('Detail Produk ' . $id); } }
Simpan isi file tersebut. Jalankan diperambah alamat ini http://localhost/kohana/index.php/product, tampilan yang akan keluar adalah sebagai berikut
Untuk action_add(), jalankan http://localhost/kohana/index.php/product/add, tampilan yang akan keluar adalah sebagai berikut
Untuk action_detail, jalankan http://localhost/kohana/index.php/product/detail/1, tampilan yang akan keluar adalah sebagai berikut
Route
Semua terjadi seperti sudah ada yang mengatur, seperti penjabaran sebelumnya pengaturnya adalah kelas route. Bukalah file application/bootstrap.php temukan baris ini (lokasinya umumnya berada di bawah)
Route::set('default', '(<controller>(/<action>(/<id>)))') ->defaults(array( 'controller' => 'welcome', 'action' => 'index', ));
Dalam potongan kode di atas kita bisa melihat bahwa kita menambahkan route dengan nama default, yang berisi pola URI (<controller>(/<action>(/<id>)). Masing – masing tanda kurung merupakan opsional, apabila kosong maka diisi dengan controller default welcome dan action defaultnya adalah index.
Pada action_detail kita melihat kode $this->request->param(‘id’), pada pola rute ini sudah didefinisikan id yang berada diakhir pola URI.
Rute ini adalah fail safe atau rute terakhir. Kohana tidak menyarankan prinsip sapu jagat, jadi buatlah rute khusus untuk menangani URI yang dikirim oleh pengguna. Sebagai contoh saya ingin mengubah action_add bisa diakses dengan param create.
Route::set('product_add', 'product/create/') ->defaults(array( 'controller' => 'product', 'action' => 'add', ));
Tambah potongan kode ini di atas dari rute fail safe tadi. Sekarang, jalankan http://localhost/kohana/index.php/product/create. Tampilan yang sama dengan action add akan muncul.
Clean URL
Mengakses dengan adanya index.php pada URI cukup menganggu, kita bisa membuatnya menjadi URI seperti ini http://localhost/kohana/product. Hal ini cukup mudah untuk dilakukan di Kohana.
Pertama, kita perlu mengubah example.htaccess menjadi .htaccess. Jika anda menggunakan Microsoft Windows, hal ini tidak bisa anda lakukan di Windows Explorer. Anda perlu mengubahnya melalui command prompt. Caranya adalah sebagai berikut:
- Tekan tombol windows + R dikeyboard anda atau mengakses Run.
- Ketik cmd
- Ketik cd c:\xampp\htdocs\kohana\
- Ketik ren example.htaccess .htaccess
Setelah diubah maka editlah file .htaccess tersebut. Dan pada awal baris akan ditemukan
# Installation directory
RewriteBase /
Karena direktori kohana berada di bawah root, yakni htdocs, maka perlu kita ubah menjadi
# Installation directory
RewriteBase /kohana/
Setelah itu, kita perlu memberitahukan kepada Kohana bahwa kita ingin menggunakan URI tanpa index.php temukan baris – baris ini pada application/bootstrap.php
Kohana::init(array( 'base_url' => '/', ));
Kemudian tambahkan / ubah menjadi
Kohana::init(array( 'base_url' => '/kohana/', 'index_file' => FALSE, ));
Sekarang anda dapat mengakses controller product dengan URI http://localhost/kohana/product.
Anda sekarang telah dapat membuat controller dan routing dasar yang bisa anda mulai untuk mengerjakan pemograman, selanjutnya kita akan membahas Controller dengan memanfaatkan View.
Comments
kalo misal:
pake npp (notepad++),
buka file c:xampphtdocskohanaexample.htaccess
Save a copy As
.htaccess
—-
bisa kok om
salam,
pasarjogja.com – belajar di xampp
Sorry, comments are closed