Advertisement
  1. Code
  2. PHP

Semua yang Anda butuhkan untuk memulai dengan CodeIgniter

Scroll to top
Read Time: 10 min

() 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?

Why a FrameworkWhy a FrameworkWhy a 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 BasicsCodeIgniter BasicsCodeIgniter Basics

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?

MVCMVCMVC

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.

  1. Pengguna berinteraksi dengan view dengan mengisi form dan mengirimkan itu.
  2. Controller menerima POST data dari form, controller mengirim data ini ke model
    yang update di database.
  3. Model kemudian mengirimkan hasil dari database ke controller.
  4. 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.
    • 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.
  • 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.


Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.