() translation by (you can also view the original English article)
CodeIgniter adalah framework aplikasi web untuk PHP. Hal ini memungkinkan developer untuk membuat aplikasi web lebih cepat, dan menawarkan banyak perpustakaan kode yang berguna dan helper yang mempercepat tugas-tugas yang membosankan di PHP. CodeIgniter didasarkan pada desain modular; yang berarti bahwa Anda dapat menerapkan perpustakaan tertent sesuai keinginan anda - yang menambahkan untuk kecepatan framework. Tutorial ini akan mencoba untuk menunjukkan kepada Anda dasar-dasar setup framework, termasuk bagaimana membuat sebuah dasar hello world aplikasi yang menggunakan pendekatan MVC.
Mengapa Framework?



Framework memungkinkan untuk struktur dalam mengembangkan aplikasi dengan menyediakan kelas-kelas yang reusable dan fungsi yang dapat secara signifikan mengurangi waktu pengembangan. Beberapa kerugian framework adalah bahwa mereka menyediakan kelas-kelas yang tidak diinginkan, menambahkan kode mengasapi yang membuat aplikasi lebih sulit untuk menavigasi.
Mengapa CodeIgniter?



CodeIgniter adalah sangat ringan, juga framework yang cepat. Sementara, sangatlah cocok untuk pemula (karena
small learning curve), hal ini juga cocok untuk aplikasi web yang besar dan menuntut. CodeIgniter dikembangkan oleh EllisLab dan memiliki teliti, mudah untuk memahami
dokumentasi. Daftar dibawah ini adalah daftar alasan yang membuat CodeIgniter framework sebagai framework cerdas untuk digunakan?
- Footprint kecil dengan kinerja yang luar biasa
- MVC pendekatan pembangunan (meskipun itu sangat longgar berbasis yang memungkinkan untuk fleksibilitas)
- Menghasilkan search engine friendly clean URL
- Mudah untuk diextend
- Berjalan pada PHP 4 (4.3.2+) dan 5
- Dukungan untuk sebagian besar database termasuk MySQL (4.1 +), MySQLi, MS SQL, Postgres, Oracle, SQLite,
dan ODBC. - Keamanan aplikasi adalah fokus
- Mudah operasi caching
- Banyak perpustakaan dan pembantu untuk membantu Anda dengan operasi kompleks seperti email, manipulasi gambar,
validasi form, file upload, session, apps multibahasa dan membuat api untuk aplikasi Anda - Sebagian besar kepustakaan hanya dimuat ketika diperlukan yang memotong kembali pada sumber daya yang dibutuhkan
Mengapa MVC?



Sebagai permulaan, MVC Stand untuk Model, View, Controller. Ini adalah pola programing yang digunakan dalam developing
aplikasi web. Pola ini mengisolasi user interface dan backend (yaitu database interaksi dari satu sama lain. Sukses
implementasi ini memungkinkan developer memodifikasi mereka user interface atau backend dan tanpa mempengaruhinya
yang lain. MVC juga meningkatkan fleksibel dari aplikasi dengan mampu digunakan kembali model atau view
lagi). Di bawah ini adalah deskripsi dari MVC.
- Model: Model berkaitan dengan data raw dan interaksi database dan akan berisi fungsi
seperti menambahkan record ke database atau memilih record database tertentu. Dalam CI model
komponen tidak diperlukan dan dapat dimasukkan dalam controller. - View: view berkaitan dengan menampilkan data dan antarmuka kontrol pengguna.
Dalam CI view bisa menjadi halaman web, rss feed, ajax data atau apapun lainnya "page". - Controller: Controller bertindak sebagai di antara view dan model dan, seperti namanya,
Dia mengontrol apa yang dikirimkan ke view dari model. Dalam CI, controller adalah juga tempat untuk memuat Perpustakaan dan helper.
Contoh dari pendekatan MVC akan untuk form kontak.
- Pengguna berinteraksi dengan view dengan mengisi form dan mengirimkan itu.
- Controller menerima POST data dari form, controller mengirim data ini ke model
yang update di database. - Model kemudian mengirimkan hasil dari database ke controller.
- Hasil ini diperbarui dalam view dan ditampilkan kepada pengguna.
Hal ini mungkin terdengar seperti banyak pekerjaan yang harus dilakukan. Tetapi, percayalah; Ketika Anda bekerja dengan aplikasi besar, mampu kembali model atau view menghemat banyak waktu.
Langkah 1: Download CodeIgniter
Juga memulai Anda akan perlu untuk men-download CodeIgniter dan meng-upload ke server Anda. Arahkan browser Anda
ke http://www.codeigniter.com/ dan
Klik tombol download. Untuk tutorial ini kami menggunakan versi 1.70.

Langkah 2: Menginstal dan menjelajahi CodeIgniter
Setelah Anda telah men-download CodeIgniter, semua yang perlu Anda lakukan adalah unzip, dan mengubah nama folder "CodeIgniter_1.7.0" untuk
baik nama aplikasi atau, dalam kasus ini, "ci" dan meng-upload untuk PHP dan MySQL yang diaktifkan di server.
Sekarang pada server Anda, saya akan menjelaskan kegunaan semua folder:

- Folder system menyimpan semua file yang membuat CI bekerja.
- Application folder hampir identik dengan isi dari folder system
ini adalah sehingga pengguna dapat memiliki file yang khusus untuk aplikasi tersebut, misalnya jika
pengguna yang hanya ingin memuat helper dalam satu aplikasi ia akan meletakkannya di folder system/aplikasi/helpers
bukan folder system/helpers.- Config folder menyimpan semua file config yang relevan dengan aplikasi. Yang
berisi informasi mengenai apa yang memuat aplikasi harus auto libaries dan database rincian. - Folder controllers menyimpan semua controller untuk aplikasi.
- Folder errors menyimpan semua halaman kesalahan template untuk aplikasi. Kapan
kesalahan terjadi kesalahan halaman yang dihasilkan dari salah satu template ini. - Folder helpers menyimpan semua helper yang spesifik untuk aplikasi Anda.
- Folder hooks adalah untuk hook yang memodifikasi fungsi file inti CI,
hook hanya boleh digunakan oleh advance user CI - Folder language menyimpan baris teks yang dapat dimuat melalui bahasa
Perpustakaan untuk menciptakan situs multibahasa. - Folder libraries menyimpan semua perpustakaan yang spesifik untuk aplikasi Anda.
- models folder menyimpan semua model untuk aplikasi.
- Folder views menyimpan semua view untuk aplikasi.
- Config folder menyimpan semua file config yang relevan dengan aplikasi. Yang
- Cache folder menyimpan semua cache yang dihasilkan oleh Perpustakaan cache.
- codeigniter folder menyimpan semua internal yang membuat CI bekerja.
- database folder menyimapn semua database driver dan kelas yang memungkinkan Anda untuk
koneksi ke database. - Folder fonts menyimpan semua font yang dapat digunakan oleh Perpustakaan manipulasi gambar.
- Folder helpers toko semua CI inti pembantu tetapi Anda dapat menempatkan Anda sendiri
di sini yang dapat diakses oleh semua aplikasi Anda. - Folder language toko semua CI inti bahasa file yang libaries dan pembantu
Gunakan. Anda juga dapat meletakkan Anda sendiri bahasa folder yang dapat diakses oleh semua aplikasi Anda. - libaries folder menyimpan semua CI inti libaries tetapi Anda dapat menempatkan perpustakaan Anda sendiri
di sini yang dapat diakses oleh semua aplikasi Anda - Folder logs menyimpan semua log yang dihasilkan oleh CI.
- Plugin folder menyimpan semua plugin yang dapat Anda gunakan. Plugin hampir identik
untuk helper, plugin adalah fungsi yang dimaksudkan untuk digunakan bersama oleh community. - Folder scaffolding menyimpan semua file yang membuat kelas scaffolding bekerja.
Scaffolding menyediakan CRUD nyaman seperti antarmuka mengakses informasi dalam database Anda
selama pengembangan.
- Application folder hampir identik dengan isi dari folder system
- User_guide menawarkan panduan pengguna untuk CI.
- Index.php file adalah sedikit itu semua keajaiban CI hal ini juga memungkinkan Anda mengubah
nama folder system dan application.
Langkah 3: Mengkonfigurasi CodeIgniter
Mendapatkan CI dan berjalan adalah agak sederhana. Sebagian besar mengharuskan Anda untuk mengedit beberapa konfigurasi
file.
Anda perlu men-setup CI untuk menunjuk ke URL tepat dasar App. Untuk melakukannya, buka system/application/config/config.php dan
mengedit item array base_url untuk menunjuk ke server Anda dan CI folder.
1 |
$config['base_url'] = "http://localhost/ci/"; |
Langkah 4: Testing CodeIgniter
Kami akan melakukan tes cepat untuk melihat apakah CI erjalan dengan baik. Pergi ke http://localhost/ci/ dan Anda
harus lihat berikut.
Langkah 5: Mengkonfigurasi CodeIgniter Cont.
Jika sudah berjalan, kami harus menyelesaikan konfigurasi. Kami mulai untuk mengkonfigurasinya khusus untuk aplikasi helloworld kami. Kami mulai untuk mengkonfigurasinya khusus untuk aplikasi helloworld kami baru. Buka system/application/config/database.php dan mengatur item array berikut ada nilai-nilai yang sesuai. Kode ini terhubung ke MySQL
database ini disebut "helloworld" pada localhost dengan "root", nama user dan password, "root".
1 |
$db['default']['hostname'] = "localhost"; |
2 |
$db['default']['username'] = "root"; |
3 |
$db['default']['password'] = "root"; |
4 |
$db['default']['database'] = "helloworld"; |
5 |
$db['default']['dbdriver'] = "mysql"; |
Selain itu, karena kita akan menggunakan database cukup sedikit, kita ingin auto load sehingga kita tidak
harus secara khusus load itu setiap kali kita terkoneksi. Buka system/application/config/autoload.php file
dan menambahkan 'database' ke autoload libaries array.
1 |
$autoload['libraries'] = array('database'); |
Saat ini, CI setup akan memiliki kontroler standar yang disebut "welcome.php"; Anda dapat menemukan ini di folder system/application/controllers. Untuk tutorial ini, menghapusnya dan buka file system/application/config/routes.php Anda. Mengubah item array standar untuk menunjuk ke controller "helloworld".
1 |
$route['default_controller'] = "Helloworld" |
CI juga memiliki file view yang kita tidak perlu. Buka system/application/view/ folder
dan menghapus welcome_message.php file.
Step 6: Membuat Helloworld Database
Seperti ini tidak benar-benar tutorial pada MySQL, aku akan menyimpan bagian ini sependek mungkin. Buat database yang disebut "helloworld" dan
jalankan SQL berikut melalui phpMyAdmin (atau serupa klien MySQL).
1 |
CREATE TABLE `data` ( |
2 |
`id` int(11) NOT NULL auto_increment, |
3 |
`title` varchar(255) NOT NULL, |
4 |
`text` text NOT NULL, |
5 |
PRIMARY KEY (`id`) |
6 |
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; |
7 |
|
8 |
INSERT INTO `data` (`id`, `title`, `text`) VALUES(1, 'Hello World!', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla |
9 |
sapien eros, lacinia eu, consectetur vel, dignissim et, massa. Praesent suscipit nunc vitae neque. Duis a ipsum. Nunc a erat. Praesent
|
10 |
nec libero. Phasellus lobortis, velit sed pharetra imperdiet, justo ipsum facilisis arcu, in eleifend elit nulla sit amet tellus.
|
11 |
Pellentesque molestie dui lacinia nulla. Sed vitae arcu at nisl sodales ultricies. Etiam mi ligula, consequat eget, elementum sed,
|
12 |
vulputate in, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;'); |
Step 7: Membuat Helloworld Model
Model opsional dalam CI, namun hal ini dianggap sebagai praktek terbaik untuk menggunakannya. Mereka adalah hanya PHP kelas yang mengandung
fungsi-fungsi yang bekerja dengan informasi dari database. Silahkan
dan buat helloworld_model.php file
dalam folder system/application/models.
Dalam file ini, buat kelas Helloworld_model, membangun Helloworld_model dan fungsi yang disebut getData.
Fungsi getData kita
akan menggunakan Active Record database fungsi yang mempercepat pengembangan database kali ketika bekerja
dengan CI dan database. Pada dasarnya, mereka adalah fungsi-fungsi yang disederhanakan untuk membuat query.
1 |
<?php
|
2 |
class Helloworld_model extends Model { |
3 |
|
4 |
function Helloworld_model() |
5 |
{
|
6 |
// Call the Model constructor
|
7 |
parent::Model(); |
8 |
}
|
9 |
|
10 |
function getData() |
11 |
{
|
12 |
//Query the data table for every record and row
|
13 |
$query = $this->db->get('data'); |
14 |
|
15 |
if ($query->num_rows() > 0) |
16 |
{
|
17 |
//show_error('Database is empty!');
|
18 |
}else{ |
19 |
return $query->result(); |
20 |
}
|
21 |
}
|
22 |
|
23 |
}
|
24 |
?>
|
Langkah 8: Membuat Helloworld Controller
Mari kita membuat controller yang akan menampilkan view, dan memuat model. Dengan cara itu, ketika
Anda pergi ke alamat http://localhost/ci/index.php/helloworld/, Anda akan melihat data dari database.
Dalam folder system/application/controllers, buat file bernama helloworld.php.
Dalam file baru ini, kami akan membuat sebuah kelas yang memiliki nama yang sama sebagai file.
Dalam kelas ini, Anda perlu membuat sebuah fungsi yang disebut "index". Ini adalah fungsi yang akan
ditampilkan bila tidak lain disediakan - misalnya ketika http://localhost/ci/index.php/helloworld/
dikunjungi. Jika, misalnya, kami membuat sebuah fungsi yang disebut foo, kita bisa menemukan ini sebagai http://localhost/ci/index.php/helloworld/foo/.
Hal penting untuk diingat adalah bagaimana CI struktur URL yang; misalnya http://host/codeignitordirectory/index.php/class/function.
Dalam fungsi indeks controller, kita perlu memuat model, query database, dan passing kueri
data ke view. Untuk memuat resource ke dalam CI misalnya Perpustakaan,
helpers, views, atau models, kita menggunakan class load. Setelah kami telah dimuat model, kita dapat mengakses melalui
nama model dan fungsi tertentu. Untuk melewatkan data ke view kita perlu menetapkannya ke array
item dan pass array - yang membuat item array sebagai variabel dalam file view.
1 |
<?php
|
2 |
class Helloworld extends Controller{ |
3 |
function index() |
4 |
{
|
5 |
$this->load->model('helloworld_model'); |
6 |
|
7 |
$data['result'] = $this->helloworld_model-><span class="sql">getData</span>(); |
8 |
$data['page_title'] = "CI Hello World App!"; |
9 |
|
10 |
$this->load->view('helloworld_view',$data); |
11 |
}
|
12 |
}
|
13 |
?>
|
Jika kami mengunjungi http://localhost/ci/index.php/helloworld/ sekarang, tidak bekerja; Hal ini karena file view tidak ada.



Langkah 9: Membuat Helloworld View
File view apa yang user liat dan berinteraksi dengan, bisa menjadi segmen halaman, atau seluruh halaman. Anda dapat pass variabel array ke view melalui argumen kedua
fungsi model load. Untuk membuat view untuk kami tutorial, buat sebuah file baru yang disebut helloworld_view.php dalam folder system/application/view. Selanjutnya, kita hanya perlu membuat kami html yang normal, head
dan element body, dan kemudian sebuah header dan paragraph untuk informasi dari database. Untuk menampilkan semua
dalam record yang diterima dari database, kami menempatkan di "foreach" pengulangan
yang loop melalui semua elemen.
1 |
<html>
|
2 |
<head>
|
3 |
<title><?=$page_title?></title> |
4 |
</head>
|
5 |
<body>
|
6 |
<?php foreach($result as $row):?>
|
7 |
<h3><?=$row->title?></h3> |
8 |
<p><?=$row->text?></p> |
9 |
<br /> |
10 |
<?php endforeach;?>
|
11 |
</body>
|
12 |
</html>
|
Anda mungkin telah menyadari bahwa kita menggunakan sintaks alternatif php, ini menyediakan nyaman dan waktu
menyimpan cara untuk menulis echo statement.
Langkah 10: Ta-da dan beberapa tambahan
Ketika Anda mengunjungi "http://localhost/ci/index.php/helloworld/", Anda
harus melihat sesuatu yang mirip dengan ini.



Tapi kita tidak selesai. Ada beberapa hal yang dapat Anda lakukan untuk meningkatkan pengalaman CodeIgniter-
seperti menghapus index.php yang menjengkelkan sedikit dari URL. Anda dapat mencapai tugas ini dengan menciptakan sebuah file .htaccess di root folder, dan menambahkan kode berikut.
1 |
RewriteEngine on |
2 |
RewriteCond $1 !^(index\.php|images|robots\.txt) |
3 |
RewriteRule ^(.*)$ ci/index.php/$1 [L] |
4 |
Anda juga akan perlu untuk membuka file config.php di system/application/config/ dan mengedit item index_page array string kosong.
1 |
$config['index_page'] = ""; |
Trik bagus lain adalah untuk menghidupkan pada CI kemampuan untuk mengurai PHP sintaks alternatif jika yang
tidak diaktifkan oleh server. Untuk melakukan ini, membuka file yang sama seperti sebelumnya, system/application/config/config.php, dan menetapkan rewrite_short_tags array item ke TRUE.
1 |
$config['rewrite_short_tags'] = TRUE; |
Saya berharap semuanya berjalan dengan baik! Berharap untuk melihat lebih banyak tutorial CodeIgniter dari saya di yang akan datang.
- Berlangganan ke NETTUTS RSS Feed untuk daily web development tuts dan artikel.