Pada tutorial kali ini, penulis akan memberikan tutorial mengenai dasar penggunaan framework
php yaitu CodeIgniter. Penulis menggunakan CodeIgniter v 2.1.4 yang dapat di download
langsung dari web official CodeIgniter, yaitu http://ellislab.com/codeigniter . Yang dibutuhkan
untuk tutorial kali ini adalah :
1. CodeIgniter 2.1.4
2. Text Editor (Sublime Text, CodeIgniter, Brackets, ell)
3. XAMPP / WAMP
Yang dilakukan untuk pertama kali adalah download CodeIgniter v 2.1.4 yang sudah disediakan
di website officialnya kemudian melakukan extract terhadap hasil download tersebut dan akan
menghasilkan folder CodeIgniter. Folder tersebut harus pembaca pindahkan ke dalam folder
htdocs di direktori XAMPP / WAMP.
Setelah itu pembaca harus menjalankan web server yang terdapat di XAMPP / WAMP agar bisa
menjalankan script PHP tersebut. Kalau sudah, pembaca dapat langsung membuka halaman
browser kemudian menuliskan localhost/CodeIgniter pada URL Browser (Tanpa tanda Kutip
), apabila muncul tampilan Welcome to CodeIgniter berarti anda sudah berhasil
menggunakan framework CodeIgniter untuk pertama kalinya
Sebelum kita bahas bagaimana halaman tersebut dapat muncul, pembaca harus mengetahui kalau
framework CodeIgniter ini memiliki struktur MVC / Model View Controller sehingga apabila
anda melihat isi dari folder application di dalam CodeIgniter yang tadi sudah didownload akan
terdapat folder models, views dan juga controllers. (Bagi yang kurang paham mengenai model
pemrograman MVC, dapat membaca disini : http://en.wikipedia.org/wiki/Modelview
controller)
[php]$route[default_controller] = "welcome";[/php]
-> kode ini menunjukkan bahwa controller default atau controller yang pertama kali dijalankan
ketika menjalan aplikasi web kita adalah file welcome.php yang ada di folder controllers.
Pembaca dapat mengubah default controller tersebut sesuai dengan keinginan nantinya, sabar
yaa, hehehe
Dari situ kita sudah tahu kan ketika website pertama kali dijalankan (Ketika kita mengetikkan
localhost/CodeIgniter) akan menjalankan file welcome.php yang ada di folder
application/controllers. Di dalam file welcome.php berisi :
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->load->view('welcome_message');
}
}
itu adalah stuktur utama untuk sebuah controller di dalam CodeIgniter. nama class yang
digunakan adalah Welcome, hal tersebut karena disesuaikan dengan nama file controllernya yaitu
welcome.php . Apabila kita memiliki controller dengan nama file products.php maka kita harus
membuat class seperti ini di dalamnya :
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->load->view('welcome_message');
}
nantinya function greetings tersebut akan memanggil view say_greetings.php yang nanti kita
buat :)
Setelah selesai membahas controller, saatnya kita beralih ke dalam Views yang ada di folder
application/views. Di dalam folder tersebut terdapat file welcome_message.php. Nah, file
welcome_message.php inilah yang tadi dipanggil oleh controller welcome.php dengan code :
<html>
<head>
<title>Belajar CodeIgniter</title>
</head>
<body>
<a href="http://www.adrianhartanto.com">
<h1>
Greetings from CodeIgniter, <br /> by Adrian Hartanto
</h1>
</a>
</body>
</html>
Setelah selesai, mari coba kita buka halaman baru yang telah kita buat dengan mengetikkan
localhost/CodeIgniter/index.php/welcome/greetings pada URL browser kita.
notes :
1. CodeIgniter : Merupakan folder utama kita
2. welcome : Nama Controller kita, terdapat di CodeIgniter/application/controllers/welcome.php
3. greetings : Nama Fungsi yang ada di dalam controller, yaitu function greetings
Dan akhirnya kita sudah dapat menambahkan function baru pada controller kita dan juga
menampilkan view baru yang telah kita buat
Sore ini ada teman yang menanyakan website nya setelah di upload ke hosting kok tidak berjalan
dengan baik, CSS nya tidak ditemukan.
Ini semua bisa disebabkan oleh htaccess tidak benar atau settingan di config yang salah.
Berikut ini settingan awal codeigniter yang bisa digunakan. (Tidak hanya untuk menghilangkan
index.php) namun untuk settingan awal ketika kamu menggunakan codeigniter sebagai
Framework website.
Config.php
index_page juga sebaiknya dikosongkan saja, agar seo lebih baik, tapi butuh htaccess juga untuk
melengkapi settingan ini.
$config['index_page'] = '';
sess_cookie_name sebaiknya dirubah, agar ROBOT yang dibuat orang-orang yang tidak
bertanggung jawab tidak bisa mendeteksi kalau website kamu dibuat dengan codeigniter.
$config['sess_cookie_name'] = 'terserah';
Settingan lain berkaitan dengan session dan cookies sebaiknya diganti juga agar lebih aman :)
HTACCESS
Untuk melengkapi settingan website codeigniter agar berjalan dengan baik, dan agar index.php
di URL nya juga hilang, maka perlu dibuat file tanpa nama namun dengan extensi .htaccess
<IfModule mod_rewrite.c>
Options -Indexes
RewriteEngine On
RewriteBase /
#RewriteCond %{REQUEST_URI} ^system.*
#RewriteRule ^(.*)$ /index.php/$1 [L]
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
disitu ada tulisan nama_folder, karena dibuat di sebuah folder di htdocs, ketika diupload ke
server hosting, biasanya kita tidak menaruhnya di folder, tapi langsung di public_html nya, maka
ketika dihosting /nama_folder harus dihapus, sisakan /index.php saja.
Oke sekian tips singkat kali ini, salam web development Indonesia