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.
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
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.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.
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
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
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
Silahkan gunakan nama asli dalam berkomentar. Profil unknown / anonim tidak akan di-approve! Terima kasih.