Mempercepat Transisi dari PHP biasa ke Codeigniter

Artikel ini sebetulnya untuk teman saya yang ingin menggunakan Codeigniter (CI). Teman saya itu sebetulnya sudah banyak membuat aplikasi PHP dan MySQL. Kemampuannya juga bagus walaupun indentnya berantakan (pusing saya liatnya) tapi pada dasarnya kodenya robust, simple dan “get most of the job done“.

Jadi saya suruh aja pake CI (lagian saya taunya juga CI) untuk mempercepat proses kerjanya. Artikel ini tidak mencakup teknik-teknik rumit dan class-class plus library di CI (kalau mau nyari di google buaannyaaakkk), disini cuma mempercepat transisi dari pemrograman standar (saya bilangnya old school) menjadi berbasis objek via MVC (Model View Controller).

Pertama kali menggunakan CI, saya nggak ngerti MVC. Yang dijelasin di buku-buku cuma gambar, diagram, konsep, paradigma dsb. Confusing and boring.

Setelah download dan extract CI, kita akan mendapatkan struktur directory seperti ini:

Kemudian jika kita mengaksesnya, katakanlah kita meletakkan CI di /www/ci akan tampil seperti ini:

Tampilan homepage (CI welcome page) bisa diakses dari berbagai URL seperti berikut ini:

  1. http://localhost/ci
  2. http://localhost/ci/index.php
  3. http://localhost/ci/index.php/welcome
  4. http://localhost/ci/index.php/welcome/index

Kok bisa gitu? Jadi yang kita akses di CI bukan tampilan langsung seperti pada saat kita menulis PHP biasa, melainkan controller yang kita akses. Sekarang coba kita buka file welcome.php yang ada di folder  /application/controllers/. Kode controller bentuknya seperti ini:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {

	/**
	 * 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');
	}
}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */

kode

class Welcome extends CI_Controller

mendeklarasikan class bernama Welcome. Perhatikan penulisan class harus diawali huruf besar. Nama file class harus sama dengan nama class itu sendiri, jadi jika dalam contoh ini nama class adalah Welcome maka nama filenya adalah welcome.php (huruf kecil aja semua).

kemudian kode

public function index()
	{
		$this->load->view('welcome_message');
	}

adalah method. Seperti contoh di atas function index selalu menjadi method default. Jadi seandainya kita mengakses http://localhost/index.php/welcome maka function index selalu yang pertama dijalankan. Kemduian di dalam function index, kode

$this->load->view('welcome_message');

bertugas me-load tampilan bernama welcome_message.php yang letaknya ada di /application/views/. Jadi jika file views bernama ijib_belang.php maka cara me-loadnya adalah $this->load->view(‘ijib_belang.php’);

Lalu bagaimana dengan http://localhost/ci/index.php ? Kenapa URL itu juga mengakses halaman yang sama? Instalasi standar CI mengarahkan controller welcome.php sebagai default. Untuk mengubahnya menjadi controller yang lain atau controller yang kita inginkan, buka file /application/config/routes.php kemudian lihat baris yang isinya:

$route['default_controller'] = "welcome";

welcome disitu berarti file class welcome.php. Seandainya kita ingin mengarahkan controller lain bernama jualan.php kita cukup menulis jualan di default controller tersebut.

Lalu bagaimana dengan model? Model bertugas mengambil sesuatu dari database. Model di load di Controller kemudian nilainya dilempar untuk ditampilkan ke view. Untuk sementara, model jatahnya artikel lain. Artikel ini cuma mempercepat perpindahan dari PHP biasa ke Codeigniter.

CONTOH GET ALA CODEIGNITER

Buat controller seperti ini:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Alpha extends CI_Controller {
	public function index($nilai='')
	{
		$data['value'] = $nilai;
		$data['judul'] = 'GET ala Codeigniter';
		$this->load->view('alphaview', $data);
	}
}

beri nama alpha.php

buat viewnya

<html>
<head>
	<title><?php echo $judul; ?></title>
</head>
<body>
	
	<h3><?php echo $judul; ?></h3>
	<p>Hi <strong><?php echo $value; ?></strong>, godain abang dong.</p>

</body>
</html>

beri nama alphaview.php
Jalankan controller seperti ini: http://localhost/index.php/alpha/index/spongebob

SUMMARY

2 thoughts on “Mempercepat Transisi dari PHP biasa ke Codeigniter

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s