Anda di halaman 1dari 9

Memulai Dengan CodeIgniter

Aplikasi perangkat lunak apa pun membutuhkan untuk belajar. Kami telah melakukan
yang terbaik untuk meminimalkan kurva pembelajaran sambil membuat prosesnya
semenyenangkan mungkin.

Langkah pertama adalah menginstal CodeIgniter, lalu baca semua topik di bagian
Pendahuluan dari Daftar Isi.

Selanjutnya, baca setiap halaman Topik Umum secara berurutan. Setiap topik dibangun di
atas yang sebelumnya, dan termasuk contoh kode yang Anda didorong untuk mencoba.

Setelah Anda memahami dasar-dasar, Anda akan siap untuk menjelajahi halaman
Referensi Kelas dan Referensi Pembantu untuk belajar memanfaatkan pustaka asli dan
file pembantu.

Jangan ragu untuk memanfaatkan Forum Komunitas kami jika Anda memiliki
pertanyaan atau masalah, dan Wiki kami untuk melihat contoh kode yang diposting oleh
pengguna lain.

Sekilas tentang CodeIgniter

CodeIgniter adalah Kerangka Aplikasi

CodeIgniter adalah toolkit membangun aplikasi web menggunakan PHP. Tujuannya adalah
untuk memungkinkan Anda mengembangkan proyek lebih cepat daripada jika Anda menulis
kode dari awal, dengan menyediakan kumpulan pustaka untuk tugas-tugas yang biasa
dibutuhkan, serta antarmuka yang sederhana dan struktur logis untuk mengakses pustaka ini.

CodeIgniter memungkinkan Anda secara kreatif fokus pada proyek Anda dengan
meminimalkan jumlah kode yang diperlukan.

CodeIgniter Gratis

CodeIgniter dilisensikan di bawah lisensi open source Apache / BSD sehingga Anda dapat
menggunakannya sesuka hati Anda. Untuk informasi lebih lanjut silakan baca perjanjian
lisensi.
CodeIgniter adalah Light Weight

Benar-benar ringan.

Sistem inti hanya membutuhkan beberapa pustaka yang sangat kecil. Hal ini sangat berbeda
dengan banyak kerangka kerja yang membutuhkan sumber daya yang jauh lebih besar.
Pustaka tambahan dimuat secara dinamis berdasarkan permintaan, berdasarkan kebutuhan
Anda untuk proses yang diberikan, sehingga sistem dasarnya sangat ramping dan cukup
cepat.

CodeIgniter Cepat

Sangat cepat. Kami menantang Anda untuk menemukan kerangka kerja yang memiliki
kinerja lebih baik daripada CodeIgniter.

CodeIgniter Menggunakan M-V-C

CodeIgniter menggunakan pendekatan Model-View-Controller, yang memungkinkan


pemisahan antara logika dan presentasi. Ini sangat bagus untuk proyek di mana desainer
bekerja dengan file template Anda, karena kode yang berisi file ini akan diminimalkan. Kami
mendeskripsikan MVC secara lebih rinci pada halamannya sendiri.

CodeIgniter Menghasilkan URL Bersih

URL yang dihasilkan oleh CodeIgniter bersih dan ramah mesin pencari. Daripada
menggunakan pendekatan "string kueri" standar ke URL yang identik dengan sistem dinamis,
CodeIgniter menggunakan pendekatan berbasis segmen:

example.com/news/article/345

Catatan: Secara default file index.php termasuk dalam URL tetapi dapat dihapus
menggunakan file .htaccess sederhana.
CodeIgniter Mengemas Pukulan

CodeIgniter dilengkapi dengan berbagai perpustakaan yang memungkinkan tugas


pengembangan web yang paling sering dibutuhkan, seperti mengakses database, mengirim
email, memvalidasi data formulir, mempertahankan sesi, memanipulasi gambar, bekerja
dengan data XML-RPC dan banyak lagi.

CodeIgniter adalah Extensible

Sistem dapat dengan mudah diperluas melalui penggunaan pustaka Anda sendiri, pembantu,
atau melalui ekstensi kelas atau kait sistem.

CodeIgniter Tidak Memerlukan Mesin Template

Meskipun CodeIgniter dilengkapi dengan parser template sederhana yang dapat digunakan
secara opsional, itu tidak memaksa Anda untuk menggunakannya. Template mesin tidak bisa
cocok dengan kinerja PHP asli, dan sintaks yang harus dipelajari untuk menggunakan mesin
template biasanya hanya sedikit lebih mudah daripada belajar dasar-dasar PHP.
Pertimbangkan blok kode PHP ini:

<ul>

<?php foreach ($addressbook as $name):?>

<li><?=$name?></li>

<?php endforeach; ?>

</ul>
Bandingkan ini dengan pseudo-code yang digunakan oleh mesin template:

<ul>

{foreach from=$addressbook item="name"}

<li>{$name}</li>

{/foreach}

</ul>

Ya, contoh mesin template sedikit lebih bersih, tetapi datang pada harga kinerja, karena
pseudo-code harus dikonversi kembali ke PHP untuk dijalankan. Karena salah satu tujuan
kami adalah kinerja maksimum, kami memilih untuk tidak mengharuskan penggunaan mesin
template

CodeIgniter didokumentasikan secara seksama

Programmer suka kode dan benci untuk menulis dokumentasi. Kami tidak berbeda, tentu
saja, tetapi karena dokumentasi sama pentingnya dengan kode itu sendiri, kami berkomitmen
untuk melakukannya. Kode sumber kami sangat bersih dan dikomentari dengan baik

CodeIgniter memiliki Komunitas Pengguna yang Ramah

Komunitas pengguna kami yang berkembang dapat terlihat aktif berpartisipasi dalam Forum
Komunitas kami.

Fitur CodeIgniter
Fitur dalam dan dari diri mereka sendiri adalah cara yang sangat buruk untuk menilai aplikasi
karena mereka tidak memberi tahu Anda tentang pengalaman pengguna, atau bagaimana
intuitif atau cerdas itu dirancang. Fitur tidak mengungkapkan apa pun tentang kualitas kode,
atau kinerja, atau perhatian terhadap detail, atau praktik keamanan. Satu-satunya cara untuk
benar-benar menilai aplikasi adalah dengan mencobanya dan mengenal kode. Memasang
CodeIgniter adalah permainan anak-anak jadi kami mendorong Anda untuk melakukan hal
itu. Sementara itu, inilah daftar fitur utama CodeIgniter

 Model-View-Controller Based System


 Extremely Light Weight
 Full Featured database classes with support for several platforms.
 Active Record Database Support
 Form and Data Validation
 Security and XSS Filtering
 Session Management
 Email Sending Class. Supports Attachments, HTML/Text email, multiple
protocols (sendmail, SMTP, and Mail) and more.
 Image Manipulation Library (cropping, resizing, rotating, etc.). Supports GD,
ImageMagick, and NetPBM
 File Uploading Class
 FTP Class
 Localization
 Pagination
 Data Encryption
 Benchmarking
 Full Page Caching
 Error Logging
 Application Profiling
 Calendaring Class
 User Agent Class
 Zip Encoding Class
 Template Engine Class
 Trackback Class
 XML-RPC Library
 Unit Testing Class
 Search-engine Friendly URLs
 Flexible URI Routing
 Support for Hooks and Class Extensions
 Large library of "helper" functions

Diagram Alir Aplikasi

Grafik berikut mengilustrasikan bagaimana data mengalir di seluruh sistem:

1. Indeks.php berfungsi sebagai pengontrol depan, menginisialisasi sumber daya dasar


yang dibutuhkan untuk menjalankan CodeIgniter.

2. Router memeriksa permintaan HTTP untuk menentukan apa yang harus


dilakukan dengannya.

3. Jika file cache ada, itu dikirim langsung ke browser, melewati eksekusi sistem
normal.
4. Keamanan. Sebelum pengontrol aplikasi dimuat, permintaan HTTP dan data yang
dikirim oleh pengguna disaring untuk keamanan.

5. Controller memuat model, pustaka inti, pembantu, dan sumber daya lain yang
diperlukan untuk memproses permintaan khusus.

6. Tampilan akhir ditampilkan kemudian dikirim ke browser web untuk dilihat. Jika
cache diaktifkan, tampilan akan di-cache terlebih dahulu sehingga pada permintaan
berikutnya dapat dilayani.

Model-View-Controller

CodeIgniter didasarkan pada pola pengembangan Model-View-Controller. MVC adalah


pendekatan perangkat lunak yang memisahkan logika aplikasi dari presentasi. Dalam
praktiknya, ini memungkinkan halaman web Anda mengandung scripting minimal karena
presentasi terpisah dari scripting PHP.

 Model mewakili struktur data Anda. Biasanya kelas model Anda akan berisi fungsi-
fungsi yang membantu Anda mengambil, memasukkan, dan memperbarui informasi
dalam database Anda.
 The View adalah informasi yang sedang disajikan kepada pengguna. A View biasanya
adalah halaman web, tetapi di CodeIgniter, tampilan juga bisa berupa fragmen halaman
seperti header atau footer. Ini juga bisa berupa halaman RSS, atau jenis "halaman"
lainnya.
 Controller berfungsi sebagai perantara antara Model, Tampilan, dan sumber daya lain
yang diperlukan untuk memproses permintaan HTTP dan menghasilkan halaman web.

CodeIgniter memiliki pendekatan yang cukup longgar untuk MVC karena Model tidak
diperlukan. Jika Anda tidak memerlukan pemisahan tambahan, atau menemukan bahwa
mempertahankan model membutuhkan lebih banyak kerumitan daripada yang Anda inginkan,
Anda dapat mengabaikannya dan membangun aplikasi Anda secara minimal menggunakan
Pengontrol dan Tampilan. CodeIgniter juga memungkinkan Anda untuk menggabungkan
skrip Anda sendiri, atau bahkan mengembangkan pustaka inti untuk sistem, memungkinkan
Anda untuk bekerja dengan cara yang paling masuk akal bagi Anda.

Tujuan Desain dan Arsitektur

Tujuan kami untuk CodeIgniter adalah kinerja, kemampuan, dan

fleksibilitas maksimum dalam paket terkecil dan teringan.

Untuk mencapai tujuan ini, kami berkomitmen untuk melakukan benchmarking, re-factoring,
dan menyederhanakan pada setiap langkah proses pengembangan, menolak apa pun yang
tidak lebih jauh dari tujuan yang dinyatakan.

Dari sudut pandang teknis dan arsitektur, CodeIgniter diciptakan dengan tujuan berikut:

 Instansiasi Dinamis. Di CodeIgniter, komponen dimuat dan rutinitas dijalankan hanya


ketika diminta, daripada secara global. Tidak ada asumsi yang dibuat oleh sistem
mengenai apa yang mungkin diperlukan di luar sumber daya inti minimal, sehingga
sistem sangat ringan secara default. Peristiwa, seperti yang dipicu oleh permintaan
HTTP, dan pengontrol serta tampilan yang Anda rancang akan menentukan apa yang
dipanggil.

 Coupling longgar. Coupling adalah sejauh mana komponen sistem bergantung satu sama
lain. Semakin sedikit komponen bergantung satu sama lain, semakin dapat digunakan
kembali dan fleksibel sistemnya. Tujuan kami adalah sistem gabungan yang sangat
longgar.

 Komponen Singularity. Singularity adalah sejauh mana komponen memiliki tujuan yang
terfokus secara sempit. Di CodeIgniter, setiap kelas dan fungsinya sangat otonom untuk
memungkinkan kegunaan maksimum.

CodeIgniter adalah sistem dinamis, instan digabungkan dengan singularitas komponen tinggi.
Ini berusaha untuk kesederhanaan, fleksibilitas, dan kinerja tinggi dalam paket footprint kecil.