Buat Web dengan Codeigniter (bag1)

Apa itu Codeigniter?

Codeigniter merupakan sebuah framework PHP yang menggunakan pola desain (design pattern) MVC (Model View Controller)1.
CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil terakhir—saat tulisan ini dibuat—adalah versi 3.1.9.








Website Codeigniter

Sedangkan Codeigniter 4 masih dalam tahap pengembangan. CI 4 adalah generasi penerus dari CI 3 yang konsepnya lebih modern 2.
Codeigniter cocok digunakan untuk membuat aplikasi web seperti:
  • Portal Berita;
  • Sistem Informasi;
  • Web Startup;
  • Profile Company;
  • eComerce;
  • Blog;
  • dan sebagainya.

Kelebihan Codeigniter

Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain, 3
  • Performa cepat: Codeigniter merupakan framework yang paling cepat dibanding framework yang lain. Karena tidak menggunakan template engine dan ORM yang dapat memperlambat proses.
  • Konfigurasi yang minim (nearly zero configuration): tentu saja untuk menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu mengubah sedikit saja pada file di folder config.
  • Memiliki banyak komunitas: Komunitas CI di indonesia cukup ramai, tutorialnya pun mudah dicari.
  • Dokumentasi yang lengkap: Codeigniter disertai dengan user_guideyang berisi dokumentasi yang lengkap.
  • Mudah dipelajari pemula: Bagi pemula, CI sangat mudah dipelajari. Karena CI tidak terlalu bergantung pada tool tambahan seperti composer, ORM, Template Engine, dll.

    Membuat Project Codeigniter

    Langkah-langkah yang harus dilakukan untuk membuat project CI:
    1. Download Codeigniter;
    2. Ekstrak CI ke htdocs.
    Silahkan buka website Codeigniter untuk mendownload.Kita akan mendapatkan sebuah file zip 📦 CodeIgniter-3.1.9.zip, ekstrak file tersebut ke dalam c:\xampp\htdocs (XAMPP) atau /var/www/html (di Linux).
  • Kemudian Jalankan Xampp laalu buka: http://localhost/tokoonline
  • Selanjutnya, silahkan buka dengan teks editor. Lalu coba untuk mengenali struktur direktorinya.Aku pake teks editor VS Code:
  • klik file dan pilih open folder kemudian cari letak file tokoonlne yang udahh kkita extrak tadi


Tedapat dua direktori penting di dalam CI: 📁 application dan 📁 system. Selain itu terdapat juga direktori 📁 user_guide dan beberapa file. Berikut ini penjelasannya:
  1. 📁 application berisi semua kode aplikasi. Di dalam direktori inilah kita akan menulis semua kode aplikasi kita.
  2. 📁 system berisi kode-kode inti dari Codeiniter. Jangan mengubah apapun di dalam direktori ini. Jika kita ingin upgrade versi, kita cukup me-replace direktori ini dengan yang baru.
  3. 📁 tests berisi kode untuk melakukan unit testing.
  4. 📁 user_guide berisi dokumentasi codeigniter. Kita bisa menghapus direktori ini saat web sudah jadi.
  5. 📄 .editor_config berisi konfigurasi untuk teks editor.
  6. 📄 .gitignore berisi daftar file dan folder yang akan diabaikan oleh Git.
  7. 📄 comspoer.json adalah file yang berisi keterangan project dan keterangan library yang digunakan. File ini dibutuhkan oleh composer.
  8. 📖 contributing.md adalah file yang berisi penjelasan cara berkontribusi di proyek CI. Kita bisa menghapus file ini, apabila web sudah jadi.
  9. 📖 license.txt adalah file yang berisi keterangan lisensi dari CI.
  10. 📖 readme.rst sama seperti file 📄 contributing.md file ini berisi penjelasan dan informasi tentang project CI. Kita juga bisa menghapus file ini saat web sudah selesai.
  11. 📄 index.php adalah file utama dari CI. File yang akan dibuka pertamakali saat kita mengakses web.
Selanjutnya silahkan buka direktori 📁 application dan perhatikan direktori yang ada di sana.
  • 📁 cache berisi cache dari aplikasi.
  • 📁 config berisi konfigurasi aplikasi.
    • 📄 autoload.php tempat kita mendefinisikan autoload;
    • 📄 config.php konfigurasi aplikasi;
    • 📄 constants.php berisi konstanta;
    • 📄 database.php konfigurasi database aplikasi;
    • 📄 doctypes.php berisi definisi untuk doctype HTML;
    • 📄 foreign_chars.php berisi karakter dan simbol;
    • 📄 hooks.php berisi konfigurasi hooks;
    • 📄 index.html untuk mencegah direct access;
    • 📄 memcached.php untuk berisi konfigurasi untuk memcached;
    • 📄 migration.php konfigurasi untuk migrasi;
    • 📄 mimes.php berisi definisi tipe file;
    • 📄 profiler.php konfigurasi untuk profiler;
    • 📄 routers.php tempat kita menulis route aplikasi;
    • 📄 smileys.php berisi kode untuk emoji;
    • 📄 user_agents.php berisi definisi untuk user agents.
  • 📁 controller berisi kode untuk controller.
  • 📁 core berisi kode untuk custom core.
  • 📁 helpers berisi fungsi-fungsi helper.
  • 📁 hooks berisi kode untuk script hook.
  • 📁 language berisi string untuk bahasa, apabila web mendukung multibahasa.
  • 📁 libraries berisi library.
  • 📁 logs berisi logs dari aplikasi.
  • 📁 models berisi kode untuk model.
  • 📁 thrid_party berisi library dari pihak ketiga.
  • 📁 views berisi kode untuk view.
  • 📄 index.html file html untuk mencegah direct access
Pertama kita ubah  welcome page yang ada di file 📄 application/views/welcome_message.php. Lalu ubah teks pada baris 71.
Penjelasan:
File 📄 welcome_message.php yang berada di dalam direktori 📁 viewsmerupakan file yang bertanggung jawab untuk menampilkan sesuatu. Di sini kita bisa menuliskan kode untuk template dan CSS.
File 📄 welcome_message.php di-load oleh sebuah controller application/controllers/welcome.php dengan kode:
public function index()
{
    $this->load->view('welcome_message');
}
Controller welcome adalah controller default yang digunakan. Hal ini bisa kita lihat pada konfigurasi routers di 📄 application/config/routers.php.
Untuk mengenal lebih jauh kita pelajari dulu MVC dan Router di Codeigniter

Mengenal Konsep MVC pada Codeigniter

MVC (Model, View, Controller) adalah sebuah pola desain (design pattern)arsitektur pengembangan aplikasi yang memisahkan dan mengelompokan beberapa kode sesuai degan fungsinya.1
MVC membagi aplikasi ke dalam tiga bagian fungsional: model, view, dan controller.
  • Model adalah kode-kode untuk model bisnis dan data. biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.
  • View merupakan bagian yang menangani presentation logic. berisi kode-kode untuk tampilan.
  • Controller merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
Alur kerjanya seperti ini:2
  1. Mulai;
  2. User mengirim request ke web;
  3. File yang pertama kali dieksekusi adalah index.php;
  4. Lalu dari index.phprequest akan diteruskan oleh routers.php;
  5. routers.php akan mencari cache di server, apabila tedapat cache maka cache itu yang akan dikirim sebagai balasan (response). Apabila tidak ada cache barulah request diteruskan ke Controller;
  6. Controller akan bertanggunag jawab untuk mengambil data dari Modeldan me-rendernya ke dalam View dengan menggunakan libraryplugin, dan helper yang ada.
  7. Hasil render (view) dikirim ke pengguna dan disimpan dalam cache, apabila fitur cache aktif;
  8. Selesai.

Memahami Router pada Codeigniter

Router pada Codeigniter bertugas untuk menentukan controller dan method/fungsi yang akan dieksekusi.
Ketika kita membuka, http://localhost/tokoonline/ maka fungsi yang akan dieksekusi adalah fungsi index() yang berada di dalam controller welcome.
class Welcome extends CI_Controller {
 public function index()
 {
  $this->load->view('welcome_message');
 }
}
Kenapa bisa begitu?
Ini karena konfigurasi router defaultnya adalah controller welcome.
Coba saja buka pada file 📄 config/routers.php.
Fungsi index() adalah fungsi yang akan dieksekusi saat kita mengaksescontroller welcome.
Sekarang coba buka: http://localhost/tokoonline/index.php/welcome/index maka kita akan mendapatkan hal yang sama seperti membuka http://localhost/tokoonline/.

Sebagai latihan, coba tambahkan route /about/ dan /contact/ di dalam Controller Welcome dengan method ini:
public function about()
{
 // fungsi untuk me-load view about.php
 $this->load->view('about');
}

public function contact()
{
 // fungsi untuk me-load view contact.php
 $this->load->view('contact');
}
Tambahkan di bawah method index()
.
Setelah itu tambahkan dua buah file view di dalam direktori 📁 views dengan isi sebagai berikut.
📄 views/about.php
<h1>About Us</h1>
<p>Ini adalah halaman about</p>
📄 views/contact.php
<h1>Contact Us</h1>
<p>Ini adalah halaman Contact</p>
Route sudah kita tambahkan.
Sekarang coba buka:
Hasilnya:
agar bisa di akses langsung tanpa melalui folder, Jangan lupa untuk didaftarkan di router.php
 buka file 📄 config/routers.php, lalu tambahkan kode berikut.
$route['about'] = 'welcome/about';
$route['contact'] = 'welcome/contact';
Tambahkan di bawah kode route yang sudah ada.
 
Dan bisa di akses:
Apakah kita harus menambahkan route pada routers.php di setiap pembuatan route baru?
Jawabannya:
Tidak harus, karena CI juga mampu mendeteksi otomatis route berdasarkan nama controller dan method yang dibuat.3

Ini formatnya:
http://example.com/[controller-class]/[controller-method]/[arguments]
Penambahan route pada 📄 routers.php dibutuhkan saat kita ingin membuat kustom route untuk controller tertentu.
Tunggu Selanjutnya (BAG 2)

Sumber tutorial dari petanikode.com

0 Response to "Buat Web dengan Codeigniter (bag1)"

Post a Comment

Ilmu ibarat sempax, kita harus menggunakannya, tapi tak perlu memamerkannya..".Tolong klik iklan dong..biar blog nya tetep eksis..Thxs "