Belajar Framework PHP CodeIgniter


Belajar Framework PHP CodeIgniter

Sebagai seorang yang baru memulai belajar bahasa pemrograman PHP beberapa bulan yang lalu dan memulainya secara native alias tanpa framework, kali ini Saya berniat untuk bermigrasi dan membuat project tersebut dengan menggunakan framework.
Kenapa menggunakan framework? Hmm, biar kekinian? Ya bisa jadi, tapi salah satu alasan mengapa menggunakan framework menurut Kang Ibnu Daqiqil adalah kemudahan yang ditawarkan. Di dalam sebuah framework biasanya sudah tersedia struktur aplikasi yang baik, standard coding, best practice, design pattern dan common function. Dengan menggunakan framework kita dapat langsung fokus kepada proses business process yang dihadapi tanpa harus memikikan masalah struktur aplikasi, standard coding dan lain-lain.

Lalu framework apa yang mudah dipelajari untuk seorang pemula?
Setelah membaca beberapa referensi dari internet dan free ebook lainnya, banyak yang menyarankan untuk menggunakan framework CodeIgniter karena mudah dipahami. Apa Saya ketinggalan? Mungkin ketinggalan hmm, tapi tidak ada kata terlambat dalam hal belajar 😊.

Selain kemudahan dan kecepatan dalam membangun sistem, dengan menggunakan framework kita juga dapat menyeragamkan cara kita mengimplementasikan kode program. Dengan  framework kita akan dipaksa untuk patuh kepada sebuah aturan. Selain itu juga akan memudahkan pengembang lain untuk mempelajari dan mengubah aplikasi yang telah dibuat apabila kode yang dihasilkan konsisten dan patuh pada sebuah aturan tertentu. Jadi penggunaan framework ini sangat cocok jika digunakan untuk sebuah project yang dikerjakan secara tim.

CodeIgniter merupakan sebuah web application framework open source yang digunakan untuk membangun aplikasi web PHP dinamis. CodeIgniter menyediakan berbagai macam library yang dapat mempermudah dalam pengembangan. Framework ini dibangun menggunakan konsep MVC dan juga merupakan salah satu framework yang ringan dan cepat jika dibandingkan dengan framework lainnya. Saat ini versi terbarunya yaitu versi 3.1.6, untuk versi 4 masih dalam proses pengembangan.

Sebelum lanjut ke tahap instalasi CodeIgniter, ada baiknya kita memahami apa itu MVC.
MVC adalah singkatan dari Model View Controller. MVC sebenarnya adalah sebuah teknik pemogramanan yang memisahkan antara alur pikir, penyimpanan data dan antarmuka (interface) aplikasi. Adapun komponen-komponen MVC antara lain:

1. Model
model berhubungan dengan data dan interaksi ke database. Biasanya di dalam model akan berisi class dan fungsi untuk mengambil, melakukan update dan menghapus database atau istilah kerennya CRUD (Create Read Update Delete). Jadi di dalam model inilah kita akan berhubungan dengan perintah-perintah query database.

2. View
view berhubungan dengan segala sesuatu yang akan ditampilkan ke pengguna akhir (end-user). Di dalam view jangan pernah ada kode untuk melakukan koneksi ke database. view hanya dikhususkan untuk menampilkan data-data hasil dari model dan controller.

3. Controller
controller bertindak sebagai penghubung data dan view. Di dalam controller inilah terdapat class-class dan fungsi-fungsi yang memproses permintaan dari view ke dalam struktur data di dalam model. controller juga tidak boleh berisi kode untuk mengakses database karena tugas mengakses data telah diserahkan kepada model. Tugas controller adalah menyediakan berbagai variabel yang akan ditampilkan di view, memanggil model untuk melakukan akses ke database, menyediakan penanganan error, mengerjakan proses logika dari aplikasi serta melakukan validasi.

CodeIgniter dapat diunduh secara gratis di alamat https://codeigniter.com. Setelah diunduh dan di ekstrak, berikut struktur direktori default CodeIgniter.
Belajar Framework PHP CodeIgniter

Folder application merupakan tempat untuk meletakan aplikasi yang akan kita bangun. Adapun isi dari folder application yaitu sebagai berikut:
  • config : tempat menyimpan semua file konfigurasi yang ada di dalam aplikasi, mulai dari database, router dan autoload aplikasi.
  • controllers : tempat menyimpan semua file controller.
  • errors : tempat menyimpan semua template error aplikasi.
  • helpers : tempat menyimpan helper-helper yang bukan berasal dari CI.
  • hooks : tempat menyimpan hook yang digunakan untuk mengubah alur fungsi dari core CI.
  • language : tempat menyimpan bahasa-bahasa yang akan di gunakan.
  • libraries : tempat menyimpan semua library buatan kita sendiri.
  • models : tempat menyimpan semua model.
  • views : tempat menyimpan semua file view aplikasi.
Folder system menyimpan semua file baik itu file aplikasi yang dibuat maupun core framework-nya. Adapun isi dari folder system yaitu sebagai berikut:
  • cache : tempat menyimpan semua cache yang dibuat caching library.
  • codeigniter : tempat menyimpan semua semua file internals CI.
  • database : tempat menyimpan semua driver database drivers dan class yang akan digunakan.
  • fonts : tempat menyimpan semua font yang digunakan image manipulation library.
  • helpers : tempat menyimpan semua helper core CI.
  • language : tempat menyimpan semua language core CI.
  • libraries : tempat menyimpan semua library core CI
  • logs : tempat menyimpan semua logs generated oleh CI.
  • plugin : tempat menyimpan semua plugin core CI.
  • scaffolding : tempat menyimpan semua file yang berfungsi sebagai scaffolding.
Folder user_guide berisi manual penggunaan CI.
File index.php, file yang akan meng-handle semua request yang dilakukan oleh client.

Project Pertama CodeIgniter
Saya asumsikan disini kita telah mempunyai atau memasang webserver, baik itu apache, nginx atau yang lainnya. Pada tulisan ini Saya menggunakan apache2 yang tersedia pada repositori Linux Mint yang Saya gunakan.

Setelah diunduh dan diekstrak, rename direktori Codeigniter-3.1.6 menjadi codeigniter atau yang lainnya. Lalu salin ke direktori root apache2 yang berlokasi di /var/www/html/, paste disini (sesuaikan webserver yang Anda gunakan). Jangan lupa untuk memberi permission pada direktori tersebut dengan perintah:
sudo chmod -R 775 codeigniter

Buka browser dan isikan alamat localhost/codeigniter.

Belajar Framework PHP CodeIgniter

Gambar diatas merupakan tampilan bawaan CodeIgniter. Jika kita lihat kode dari controller/Welcome.php, sebenarnya ketika kita mengakses alamat localhost/codeigniter secara otomatis ter-mapping ke alamat localhost/codeigniter/index.php/welcome atau localhost/codeigniter/index.php/welcome/index. Mengapa demikian? karena nama class-nya adalah Welcome dan nama fungsinya index. Jadi kita harus patuh pada aturan routing CodeIgniter dengan struktur alamat:
http://domain/namaproject/index.php/class/function

Belajar Framework PHP CodeIgniter

Untuk penamaan file, CodeIgniter mempunyai aturan sendiri, nama file untuk controller harus diawali dengan huruf besar, nama class pada controller harus sama dengan nama file dan juga berawalan huruf besar. Sebagai contoh diatas, controller Welcome nama file-nya adalah Welcome.php.
Sekarang kita coba membuat file controller dengan nama Gorgom.php dan membuat file view dengan nama hello_gorgom.php.

File application/controllers/Gorgom.php:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Gorgom extends CI_Controller {
    public function hello()
    {
 $this->load->view('hello_gorgom');
    }

}
Untuk file application/view/hello_gorgom.php kita buat yang sederhana saja dulu cukup isikan:
<b>Hello Gorgom</b>.
Seperti yang dijelaskan diatas, struktur alamat adalah:
http://domain/namaproject/index.php/class/function
maka untuk contoh ini menjadi:
http://localhost/codeigniter/index.php/gorgom/hello

Belajar Framework PHP CodeIgniter
Sederhana bukan? Tutorial ini dikhususkan bagi pemula seperti Saya yang baru memulai belajar, jadi jika ada yang salah atau kurang mohon dikoreksi ya 😊.
Untuk berhubungan dengan model dan database akan kita bahas pada postingan lainnya.
Terima kasih, Happy Coding!.

No comments:

Post a Comment