Codeigniter 3
May 19, 2018 | Author: Randy Senaen | Category: N/A
Short Description
ebook belajar codeigniter...
Description
CODEIGNITER 3 Belajar Secara Mandiri
Jilid 1 Dasar-Dasar Codeigniter oleh Zamah Sari
DAFTAR ISI
1 PENDAHULUAN CODEIGNITER .................... ................................. ............. 1 Fitur Codeigniter ................................................. ............. ............................................................ ........................ 1
2 INSTALASI CODEIGNITER ....................................... .......................... ............. 3
3 ARSITEKTUR CODEIGNITER ARSITEKTUR CODEIGNITER.................... ..................................... ................. 5 Struktur Direktori ........................................................................ ........................................................... ............. 6 Folder Application .............................. .................................................................. .......................................... ...... 8 Folder System ................................... ....................................................................... .......................................... ...... 9 Folder User_guide ................................... ..................................................................... .................................. 10
4 FRAMEWORK MVC CODEIGNITER .......................... ....... ................... 12 Controller ................................................................................. ................................................................. ................ 13 Model .......................................................... ...................... ................................................................ ............................ 13 View .............................. .................................................................. .......................................................... ...................... 14 14
5 KONSEP DASAR CODEIGNITER DASAR CODEIGNITER .............................. 15 Controllers ............................................. ......... ...................................................................... .................................. 15 Membuat Class Controllers .................................... .................................................... ................ 15 Memanggil Controllers .......................................................... 16 16
i
Membuat dan Memanggil Constructor Method .......................... 17 Yang Perlu Anda Ingat .......................................................... 18 Views................................... ....................................................................... .................................................... ................ 19 Memanggil View................................. ................................................................... .................................. 20 Models ..................................................................................... ............................................................... ...................... 22 22 Membuat Class Model ............................... ........................................................... ............................ 22 Memanggil Model ............................... ................................................................. .................................. 23 23 Auto-loading Model .................................. .............................................................. ............................ 23 Helper ................................................................................ .......................................................... ...................... 24 24 Routing ........................................................ .................... .......................................................... ...................... 26
6 KONFIGURASI CODEIGNITER ............................... .................... ........... 29 Konfigurasi BASE_URL() ................................. ............................................................. ............................ 29 Konfigurasi Base_URL() dinamis................................... ............................................. .......... 31 Konfigurasi Database ............................... ................................................................. .................................. 32 32 Konfigurasi Autoload ................................ .................................................................. .................................. 34
7 DATABASE DALAM CODEIGNITER ...................... .......................... .... 39 Menghubungkan Database .................................... .......................................................... ...................... 39
1 PENDAHULUAN CODEIGNITER
CodeIgniter adalah sebuah framework aplikasi, yang mana framework ini dapat digunakan untuk membangun aplikasi maupun website, dan berbasis
bahasa
pemrograman
PHP.
Codeigniter
ini
merupakan
framework Open Source. Codeigniter memiliki library dan helper yang cukup lengkap, yang dapat membantu mempercepat pembuatan aplikasi maupun website.
FITUR CODEIGNITER Beberapa fitur penting yang ada dalam Codeigniter adalah sebagai berikut: !
Berbasis Model View Controller
!
Sangat ringan (tidak lebih dari 2 MB, jika tanpa dokumentasi)
!
Fitur lengkap pengelola database dan support beberapa macam database
!
Suport Query database builder
!
Validasi Form dan Data
!
Keamanan dan XSS Filtering
!
Management Session
!
Class Email yang support attachments, HTML/Texk email, multiple protocols (sendmail, SMTP, Mail) dan banyak lagi
1
!
Class Upload
!
Class FTP
!
Mensuport Localization
!
Pagination
!
Data Encryption
!
Benchmarking
!
Full Page Caching
!
Error Logging
!
Application Profilling
!
Class Calendaring
!
Class User Agent
!
Class Zip Encoding
!
Class Template Engine
!
Class Backtrack
!
Class XML-RPC
!
Class Unit Testing
!
URL yang Search Engine Friendly
!
Routing yang fleksibel
!
Suport Hook dan Extension Class
Terdapat library “Helper” yang banyak
2
2 INSTALASI CODEIGNITER
Untuk melakukan instalasi Codeigniter ini sangatlah mudah, cukup mengikuti langkah-langkah sebagai berikut: Langkah 1: Download Codeigniter dari link berikut ini: i ni: https://github.com/bcit-ci/CodeIgniter/archive/3.1.3.zip Langkah 2: Unzip file tersebut Langkah 3: Upload semua file dan folder ke server local atau server development anda Langkah 4: setelah selesai upload, bukalah URL dari server anda, misalnya: http://localhost/codeigniter3 http://localhost/codeigniter3 atau yang lainnya sesuaikan dengan saat anda menguploadnya. Dan saat anda membuka URL tersebut, akan terlihat tampilan sebagai berikut.
3
Gambar 2.1 Tampilan Welcome dari Framework Codeigniter
4
3 ARSITEKTUR CODEIGNITER
Arsitektur dari framework Codeigniter dapat dilihat pada gambar berikut ini:
Gambar 3.1 Alur kerja Framework Codeigniter Seperti terlihat pada alur kerja pada gambar 3.1, terlihat bahwa setiap ada request menuju Codeigniter, selalu ditampung di tampung dan diarahkan ke file index.php.. index.php
5
Tahap
berikutnya,
Routing akan Routing
menentukan
apakah
akan
melanjutkan request ke tahap 3 untuk proses caching ataukah ke tahap 4 untuk dilakukan pengecekan keamanan. Jika halaman yang di request telah ada dalam Caching Caching,, maka Routing akan melewatkan request ke tahap 3 dan mengembalikan respon dari caching ke user. Namun jika halaman yang di request tidak terdapat dalam Caching Caching,, maka Routing Routing akan akan melewatkan request ke tahap 4 untuk dilakukan pengecekan Security Security.. Sebelum
melewatkan
request
ke
Application
Controller, Controller,
fitur
Security akan melakukan pengecekan pada data yang disubmit oleh Security user. Setelah dilakukan pengecekan, Application Controller me-load Controller me-load Model,, Model
Library,, Library
Helper,, Helper
Plugin,, Plugin
dan
Script untuk Script
kemudian
dilewatkan ke View View.. View akan melakukan render pada halaman yang di request dan View menyimpannya dalam Caching Caching,, dan karena halaman yang di request tidak terdapat dalam caching sebelumnya, maka kali ini halaman ini akan di simpan dalam Caching Caching agar permintaan pada halaman yang sama kedepannya dapat dilakukan dengan lebih cepat.
STRUKTUR DIREKTORI Gambar dibawah ini merupakan struktur folder dari framework Codeigniter, dimana folder utamanya terdapat 3, yaitu Application, System, dan User_guide:
6
Gambar 3.2 Struktur folder utama (kiri) dan folder dalam application (kanan)
Gambar 3.3 Struktur folder dalam System
7
Gambar 3.4 Struktur dalam folder User_guide
FOLDER APPLICATION Seperti namanya, maka folder ini merupakan folder aplikasi yang akan kita kembangkan. Di dalam folder inilah project kita akan dibuat. Folder ini berisi beberapa folder lain, yang akan dijelaskan sebagai berikut: !
Cache:: folder ini berisi semua halaman yang telah di cache dalam Cache aplikasi kita. Halaman yang telah di cache inilah yang nantinya
8
dapat mempercepat akses pada halaman-halaman yang sering di akses. !
Config:: folder ini berisi berbagai file yang berisi konfigurasi Config aplikasi kita. Dengan bantuan file config.php , kita dapat mengkonfigurasi aplikasi kita. Sedangkan untuk mengkonfigurasi koneksi database, kita dapat menggunakan file database.php database.php..
!
Controller : folder ini berisi file-file controller dari aplikasi kita, dan ini merupakan bagian paling dasar dari aplikasi yang kita kembangkan.
!
Core:: folder ini berisi Class-Class utama aplikasi kita. Core
!
Helpers:: folder ini berisi Class-Class buatan kita yang merupakan Helpers penambahan fungsi dari Class helper yang sudah ada dan dapat membantu pengembangan aplikasi.
!
Hooks:: file-file dalam folder ini dimaksudkan untuk melakukan Hooks perubahan cara kerja dalam system core codeigniter.
!
Language:: berisi file-file yang berhubungan dengan Bahasa. Language
!
Libraries:: folder ini berisi Class-Class buatan kita yang dapat Libraries membantu aplikasi kita.
!
Logs:: merupakan folder yang berisi file-file yang berhubungan Logs dengan log dari system codeigniter.
!
Models:: database method akan diletakkan dalam folder ini. Models
!
Third_party : dalam folder ini kita dapat meletakkan plugin dari berbagai sumber untuk digunakan dalam aplikasi kita, misalnya plugin phpexcel, tinyMCE, dan lain sebagainya.
!
Views:: folder tempat kita meletakkan file-file Views file-fil e HTML kita.
FOLDER SYSTEM Di dalam folder system ini terdapat kode-kode, library, helper, dan filefile lainnya, yang merupakan core dari framework codeigniter. Library dan helper inilah yang di load dan digunakan dalam aplikasi kita, sehingga proses pengembangan aplikasi menjadi lebih mudah. Isi dari folder system adalah sebagai berikut:
9
Core:: folder ini berisi kode-kode core framework Codeigniter. Jangan Core mengubah apapun yang ada dalam folder ini. Semua yang anda lakukan berada dalam folder application. Bahkan jika anda bermaksud untuk menambah fungsi dalam core Codeigniter, yang perlu anda lakukan adalah menggunakan fitur hooks, dan folder hooks terletak dalam folder application. Database:: folder database berisi driver-diver database dan file-file Database pendukung database. Fonts:: berisi file-file yang berhubungan dengan font. Fonts Helpers:: folder ini berisi class-class helper standart Codeigniter Helpers (misalnya date, cookie, dan URL helper). Language:: dalam folder ini berisi file-file bahasa. Language Libraries:: berisi library standart yang digunakan dalam framework Libraries Codeigniter
untuk
membantu
anda
mempercepat
proses
pengembangan aplikasi yang berhubungan dengan email, calender, upload file, dan masih banyak lagi. Anda juga dapat membuat sendiri library anda atau melakukan extend, atau bahkan melakukan overwrite atau mengganti library standart, tetapi class tersebut harus diletakkan dalam folder application/libraries application/libraries agar terpisah dengan library standart Codeigniter. Hal ini penting dilakukan agar proses upgrade maupun update system pada core framework Codeigniter dapat dengan mudah dilakukan.
FOLDER USER_GUIDE Folder ini, sesuai dengan namanya, dapat kita tebak jika berisi file-file dokumentasi dari framework Codeigniter. File-file ini bersifat offline, sehingga dapat membantu kita mempelajari fungsi-fungsi yang terdapat pada
berbagai
macam
library,
helper,
dan
class-class.
Sangat
disarankan jika anda membaca petunjuk penggunaannya agar dapat dengan mudah melakukan pengembangan aplikasi dikemudian hari.
10
Selain ketiga folder diatas, terdapat file “index.php “index.php”. ”. Dalam file ini, kita dapat melakukan konfigurasi lingkungan pengembangan kita, error level yang ditampilkan jika terjadi kesalahan, dan kita juga dapat mendefinisikan nama dari folder application application dan system system.. Namun, sangat disarankan untuk tidak melakukan perubahan apapun dalam file f ile index.php ini jika anda merasa pengetahuan anda belum mencukupi.
11
4 FRAMEWORK MVC CODEIGNITER
Codeigniter merupakan sebuah framework berbasis pada pola ModelView-Controller
(MVC).
MVC
merupakan
pola
pendekatan
pengembangan aplikasi yang memisahkan logika (model layer dan control
layer)
dari
sebuah
aplikasi
dengan
bagian
penyajian
(presentation layer). Pada implementasinya, pola pengembangan ini menjadikan
proses
pengembangan
masing-masing
layer
dapat
dilakukan oleh orang atau team yang berbeda, dan setiap layernya berisi kode-kode yang minimal dan mudah dilakukan maintain.
12
Gambar 4.1 Alur kerja MVC Framework Codeigniter
CONTROLLER Layer ini merupakan bagian yang menjadi jembatan antara layer Model dan layer View, maupun bagian lain l ain yang dibutuhkan dalam proses HTTP request sehingga dihasilkan sebuah halaman WEB.
MODEL Layer ini merupakan layer yang menangani struktur data. Biasanya layer ini berisi metode atau fungsi-fungsi yang membantu retrieve, insert, update, dan delete informasi yang ada dalam database.
13
VIEW Layer ini merupakan leyer presentasi kepada user. Sebuah view biasanya
berupa sebuah halaman WEB, tetapi dalam Codeigniter,
sebuah view juga dapat berupa bagian dari halaman utuh WEB. Misalnya hanya berisi sebuah header, footer, menu atas, RSS, atau yang lainnya.
14
5 KONSEP DASAR CODEIGNITER
CONTROLLERS Sebuah controller pada hakekatnya merupakan sebuah Class. Seperti namanya “Controller”, bagian ini bertugas mengontrol seluruh aplikasi menggunakan URI. Membuat Class Controllers Untuk membuat sebuah Class Controller pada framework Codeigniter, yang perlu dilakukan adalah membuka folder application/controllers application/controllers.. Di dalam folder ini anda akan menemukan 2 buah file, index.html dan Welcome.php. File-file ini merupakan file default yang ada dalam Codeigniter. Untuk saat ini, biarkan saja kedua file tersebut ada. Buatlah sebuah file f ile dalam folder yang sama dengan kedua file tersebut, kemudian beri nama “Percobaan.php “Percobaan.php”. ”. Tetapi yang perlu anda ingat adalah, untuk penamaan file controller huruf besar dan kecil sangatlah berpengaruh, dan disarankan untuk controller gunakanlah huruf besar untuk huruf pertama penamaannya. Setelah itu bukalah file tersebut dengan editor
15
favorit anda, untuk buku ini saya menggunakan editor SublimeText v3. Kemudian tuliskan kode dibawah ini dalam file tersebut.
Gambar 5.1 Kode Class Percobaan Method index(). Class Percobaan merupakan extends dari Class CI_Controller yang merupakan bawaan dari framework Codeigniter. Class-class yang nantinya anda buat harus melakukan extends class CI_Controller. Memanggil Controllers Class controller pada file “Percobaan.php” pada gambar 5.1 dapat dipanggil menggunakan URI berikut:
dapat kita lihat, kata “percobaan” pada URI di atas setelah index.php, merupakan nama dari Class Controller. Sesuai dengan pemberian nama Class
“Percobaan”,
kita
cukup
menuliskan
“percobaan”
setelah
index.php. Namun, sekali lagi saya ingatkan, bahwa pemberian nama Class dalam Codeigniter harus menggunakan huruf besar pada huruf pertama nama Class, tetapi pada saat pemanggilan dalam URI, kita cukup menggunakan huruf kecil saja. Syntax umum yang digunakan dalam framework Codeigniter adalah sebagai berikut:
16
dan pada URI, semua dituliskan cukup dalam huruf kecil saja. Membuat dan Memanggil Constructor Method Selanjutnya, mari kita rubah sedikit kode-kode pada Class Percobaan yang telah kita buat tadi, menjadi seperti di bawah ini:
Gambar 5.2 Kode Class Percobaan dengan 2 buah method Dengan kode di atas, kita dapat melakukan 3 cara pemanggilah URI sebagai berikut: 1. http://localhost/codeigniter3/index.php/percobaan 2. http://localhost/codeigniter3/index.php/percobaan/index 3. http://localhost/codeigniter3/index.php/percobaan/halo
dari ketiga URI tersebut, berikut adalah tampilan yang dihasilkan oleh masing-masing URI:
17
Gambar 5.3 Tampilan hasil masing-masing URI Yang Perlu Anda Ingat 1. Nama dari sebuah Class Controller harus diawali dengan huruf besar. 2. Pada URI Class Controller harus dipanggil menggunakan huruf kecil. 3. Jangan menggunakan nama yang sama antara nama Class dengan nama Method, karena akan mengakibatkan fungsi Parent Class di overwrite.
18
VIEWS Pada bagian view yang merupakan presentation layer, kita dapat membuat sebuah tampilan yang sederhana atau kompleks. View juga dapat berupa bagian-bagian sederhana seperti header, footer, menu atau lainnya. View ini tidak dapat diakses secara langsung, melainkan harus dipanggil melalui sebuah Controller. Mari kita coba membuat sebuah tampilan sederhana kemudian memanggilnya menggunakan controller yang telah kita buat sebelumnya, namun kita tambahkan sebuah method baru untuk memanggil view ini. Langkah yang perlu kita lakukan adalah sebagai berikut: 1. Buatlah sebuah file baru di dalam folder application/views application/views dan dan berilah nama view_percobaan.php 2. Setelah file dibuat, bukalah file tersebut dengan editor favorit anda. 3. Kemudian tuliskan kode dibawah ini.
Gambar 5.4 Kode file view_percobaan.php Kemudian tambahkan sebuah method baru baru dalam file controller percobaan.php,, dengan kode seperti di bawah ini. percobaan.php
19
Memanggil View Sebuah file view dapat dipanggil melalui Controller dengan kode di bawah ini:
dan jika anda ingin mengakses file-file view yang ada di dalam sebuah direktori, maka bentuk kode yang harus dijalankan adalah sebagai berikut:
kita tidak perlu menambahkan ekstensi file “.php”, kecuali kita membuat file view yang berekstensi selain php. Kode dalam Controller Percobaan.php akan Percobaan.php akan berbentuk seperti ini:
Gambar 5.5 Kode file Controller Percobaan.php
20
sedangkan hasil dari browser jika kita memanggil dengan URI sebagai berikut adalah http://localhost/codeigniter3/index.php/percobaan/tampil_view
Gambar 5.6 Tampilan Controller Percobaan.php Method tampil_view() Alur kerja dibawah ini menggambarkan bagaimana system kerja dari Codeigniter mulai dari URI request hingga tampil respond:
http://localhost/codeigniter3/index.php/percobaan /tampil_view URI di atas untuk pertama kalinya akan memanggil file index.php dalam folder Codeigniter
CONTROLLER File index.php kemudian memanggil Class Percobaan.php Percobaan.php dalam folder application/controllers/Percobaan.php application/controllers/Percobaan.php.. Karena kita juga menyertakan nama method (yaitu tampil_view) pada URI, maka method yang dipanggil adalah tampil_view() tampil_view() dalam Controller Percobaan.php
VIEW $this->load->view(‘tampil_view’); dalam method tampil_view $this->load->view(‘tampil_view’); yang terdapat pada file Controller Percobaan.php Percobaan.php memanggil file tampil_view.php dalam folder application/view tampil_view.php application/view untuk kemudian melakukan proses rendering.
21
MODELS Class model di desain untuk bekerja dengan informasi yang tersimpan di dalam database. Sebagai contoh, jika anda menggunakan Codeigniter untuk memanajemen users dalam aplikasi yang anda buat, maka anda harus membuat sebuah Class Model yang didalamnya terdapat method atau fungsi-fungsi untuk mengambil seluruh record, mengambil detail sebuah record, menambah record, mengupdate record, dan menghapus record dari data tabel users dalam database. Membuat Class Model File-file Class Model tersimpan dalam folder application/models, dan kode dasar untuk pembuatan sebuah Class Model adalah sebagai berikut:
Gambar 5.7 Kode dasar untuk pembuatan Class Model Dimana Nama_model adalah nama dari Class model dan nama filenya adalah Nama_model.php. Setiap Class model yang kita buat harus inherit atau merupakan extends dari Codeigniter Class CI_Model.
22
Memanggil Model Model dapat dipanggil melalui Controller. Berikut ini adalah kode untuk memanggil model.
dimana nama_model adalah nama model yang akan kita panggil. Setelah proses pemanggilan, anda dapat dengan mudah menggunakan method yang ada didalamnya dengan cara pemanggilan sebagai berikut:
Auto-loading Model Fitur auto loading model ini merupakan sebuah fitur yang mungkin saja anda butuhkan untuk aplikasi anda, dimana model-model yang sering digunakan
secara
otomatis
dipanggil
oleh
core
system
ketika
dibutuhkan atau dipanggil oleh controller kita. Letak konfigurasi auto load model ini terdapat pada file autoload.php yang terdapat di dalam folder application/config application/config..
Gambar 5.8 Konfigurasi autoload.php untuk auto load model
23
Helper Seperti namanya, HELPER yang berarti PEMBANTU, tugasnya adalah membantu kita mempercepat proses pengembangan aplikasi. Helper ini terbagi
menjadi
beberapa
fungsi
kecil
yang
berbeda
secara
fungsionalitas. Daftar helper yang menjadi default Codeigniter dapat di lihat pada tabel dibawah ini. Tabel 5.1 Daftar helpers bawaan Framework Codeigniter
Nama Helper
Keterangan
Array
Helper ini berisi fungsi-fungsi yang berhubungan dengan array. Helper ini berisi fungsi-fungsi yang dapat membantu pembuatan captcha Helper ini berisi fungsi-fungsi yang membantu dalam manajemen cookie Helper ini membantu kita dalam operasi yang berhubungan dengan tanggal Helper ini membantu penanganan manajemen folder Helper ini mengangani fungsi untuk kebutuhan download, bisa force download ataupun indirect download link. Helper ini menyediakan fungsi untuk bekerja dengan email. Untuk solusi penanganan email yang lebih lengkap bisa dilihat di user_guide. Helper ini berfungsi untuk menangani permasalahan yang berhubungan dengan file. Helper ini menangani masalah pembuatan form, baik itu radio button, input text, dropdown, dan lain sebagainya. Helper ini dapat membantu kita untuk pengananan maslah HTML tag. Helper ini membantu kita untuk merubah kata-kata menjadi plural, singular, camel case dan lain-lain Helper ini berfungsi untuk membantu kita menangani file-file yang berhubungan dengan Bahasa Helper ini membantu kita untuk menangani funsionalitas data numurik
Captcha Cookie Date Directory Download
Email
File Form
HTML Inflector Language
Number
24
Path
Helper ini berisi fungsi-fungsi yang membantu anda bekerja dengan folder-folder dalam server Helper ini berisi fungsi-fungsi yang berhubungan dengan masalah keamanan Helper ini berisi fungsi-fungsi yang mengijinkan kita menangani masalah emoticon Helper ini berisi fungsi-fungsi yang mempermudah kita untuk mengolah string Helper ini berisi fungsi-fungsi untuk bekerja dengan teks Helper ini berisi fungsi-fungsi yang membantu kita untuk membuat format standart yang semantic Helper ini berisi fungsi-fungsi untuk bekerja dengan URL Helper ini berisi fungsi-fungsi yang membantu kita bekerja dengan file dengan format XML
Security Smiley String Text Typography URL XML
Helper, secara default tersimpan dalam folder system/helpers, atau jika kita melakukan penambahan fungsi atau meng-extend helper tersebut maka letaknya ada dalam folder application/helpers.
Core dari
Codeigniter pertama kali akan melihat helper yang terdapat dalam folder application/helpers terlebih dahulu. Jika tidak terdapat helper didalamnya
maka
Codeigniter
akan
mencari
di
dalam
folder
system/helpers. Setiap helper, baik itu bawaan codeigniter maupun buatan kita sendiri, harus melalui proses pemanggilan terlebih dahulu sebelum dapat kita gunakan. Untuk memanggil sebuah helper agar dapat kita gunakan, caranya adalah sebagai berikut:
Misalnya anda ingin menggunakan helper URL, maka caranya adalah seperti di bawah ini:
25
Routing Codeigniter memiliki system routing URI yang sangat user friendly, artinya mudah dibaca atau dipahami. Dengan system ini kita dapat dengan mudah me “re route” sebuah URL. Biasanya, terdapat hubungan one to one antara sebuah URL string dengan Controller/method() -nya. Default segment lengkap URI pada framework codeigniter desain paternnya adalah sebagai berikut:
!
dimana
segmen
pertama
(terhitung
setelah
index.php),
merupakan nama class atau nama controller. !
Segmen kedua merupakan pemanggilan terhadap method atau fungsi tertentu dalam sebuah class dalam controller.
!
Segment ketiga merupakan ID yang akan dikirimkan ke controller
Segment berikutnya bisa kita tambahkan sendiri, namun untuk saat ini kita cukup mempelajari 3 segmen saja, pembahasan tentang segment custom selanjutnya akan kita bahas di lain kesempatan. Mengkustom Routing
Tersedia file khusus untuk melakukan kustomisasi routing pada framework
Codeigniter
ini.
File
ini
terletak
pada
folder
application/config/route.php. Anda akan menemukan sebuah variabel bernama $route bertipe array dimana di mana anda dapat melakukan perubahan routing. Nilai pada array ini akan menentukan apa yang harus di route dan kemana harus di routing ulang. Ada tiga routing default yang menjadi konfigurasi awal pada framework ini.
26
ROUTE DEFAULT $route[‘default_controller’]
Route ini digunakan untuk menentukan Class Controller mana yang harus dipanggil ketika kita hanya menuliskan root dari aplikasi kita. Anda diwajibkan untuk melakukan seting pada route ini, karena jika tidak, codeigniter secara default akan menampilkan welcome page atau 404 jika anda telah menghapus Class controller welcome bawaan codeigniter.
$route[‘404_override’]
Route ini digunakan untuk menentukan Class Controller mana yang harus dipanggil jika Controller atau Method yang di panggil tidak ditemukan.
$route[‘translate_uri_dashes’] Fasilitas ini sebenarnya bukanlah sebuah route, tetapi memiliki fitur yang dapat secara otomatis merubah tanda dash (-) menjadi underscore (_) dalam controller atau method di URI.
Wildcards
Untuk kebutuhan routing, kita dapat menggunakan dua macam whildcard, seperti yang akan saya jelaskan sebagai berikut: !
(:num) wildcard ini hanya akan berpengaruh pada segment yang berisi angka saja
!
(:any) wildcard ini akan berpengaruh pada segment yang berisi semua karakter
agar lebih jelas, saya akan memberikan satu contoh yang lengkap dengan penjelasannya sebagai berikut: $route[‘produk/:num’]=’katalog/produk_detail’;
27
pada contoh di atas, jika ada kata ‘produk’ ‘produk’ pada segment satu di dalam URL, kemudian ditemukan ‘angka’ ‘angka’ setelahnya pada segment kedua,, kedua
maka
Class
Controller
‘katalog’ ‘katalog’
dan
method
‘produk_detail’ akan dipanggil dan diikuti dengan ‘angka’ ‘produk_detail’ ‘angka’ pada segment ketiganya. ketiganya. Pada prakteknya menjadi seperti ini: http://localhost/codeigniter3/index.php/produk/35 maka yang dipanggil sebenarnya adalah http://localhost/codeigniter3/index.php/katalog/produk_detail/35 meskipun struktur routing dari Codeigniter sendiri sudah mudah dipahami dan di ingat serta user friendly, namun terkadang hal tersebut perlu dilakukan guna meningkatkan nilai SEO dari website kita. Reguler Expression
Sama
seperti
wildcard,
kita
juga
dapat
menggunakan
regular
expression dalam expression dalam array key variabel $route. $route. Jika terdapat URI yang cocok dengan regular expression, maka akan di-re-route di-re-route atau diarahkan ulang menuju nilai $route yang baru dalam array. array. Contohnya seperti di bawah ini $route[‘produk/([a-z]+)/(\d+)’]=”$1/id_$2”; contoh di atas artinya, jika ada URL yang memiliki format seperti “produk/sepatu/123” maka, arahkan menuju controller sepatu “produk/sepatu/123” dan method-nya id_123 id_123..
28
6 KONFIGURASI CODEIGNITER
Setelah selesai melakukan instalasi dari codeigniter ke dalam web server kita (dalam contoh di buku ini saya melakukan instalasi dalam url http://localhost/codeigniter3) http://localhost/codeigniter3).. Hal selanjutnya yang perlu kita lakukan adalah melakukan konfigurasi framework codeigniter. Seperti dijelaskan pada bab Struktur Codeigniter sub bab Folder Application,, Application
dijelaskan
bahwa
folder
config didalam config
folder
application berisi application berisi beberapa file configurasi yang configurasi yang perlu kita sesuaikan terlebih dahulu agar dapat kita gunakan.
KONFIGURASI BASE_URL() BASE_URL() dari sebuah website dapat kita atur melalui konfigurasi BASE_URL() yang
terdapat
dalam
file
application/config/config.php.. application/config/config.php
BASE_URL() ini merupakan ROOT BASE_URL() ROOT dari Framework Codeigniter, Codeigniter, dimana ROOT ROOT ini ini adalah halaman yang menampilkan Welcome Page. Page. Secara umum, ini akan menjadi dasar URL dalam pengembangan aplikasi kita dan yang perlu kita lakukan l akukan adalah tinggal copy paste dari browser URL kita. Mari
kita
coba
praktekkan
bagaimana
melakukan
konfigurasi
BASE_URL() ini dengan langkah-langkah sebagai berikut:
29
1. Bukalah halaman awal dari codeigniter yang menampilkan halaman Welcome.
Gambar 6.1 Halaman Welcome Codeigniter 2. Select All, URL pada browser kita, kemudian Copy. 3. Setelah itu, bukalah file application/config/config.php. 4. Kemudian pastekan sehingga terlihat seperti pada gambar di bawah ini.
30
Gambar 6.2 Hasil akhir configurasi BASE_URL() 5. Simpanlah.
Konfigurasi Base_URL() dinamis Terkadang dalam proses development, pengaturan base_url() ini menjadi hal yang “merepotkan” ketika kita bekerja dalam team, atau kita bekerja dengan beberapa computer yang berbeda. Salah satu solusi yang dapat diandalkan adalah dengan menggunakan konfigurasi dinamis. Hal yang perlu di ingat adalah semua file yang ada dalam framework codeigniter sebenarnya adalah file PHP biasa, sehingga kita dapat melakukan perubahan yang sama dengan file PHP yang biasa kita buat. Berikut ini adalah contoh cara membuat base_url() dinamis:
31
Gambar 6.3 Kode konfigurasi base_url() dinamis
KONFIGURASI DATABASE Untuk mengkonfigurasi database dari aplikasi kita, dapat kita lakukan di dalam file application/config/database.php. Terkadang, kita perlu melakukan konfigurasi yang berbeda untuk situasi yang berbeda, contohnya penggunaan database yang berbeda untuk environtment “development” dan “production”. Dengan menggunakan array tipe multi dimensi yang disediakan oleh Codeigniter, kita dapat melakukan setup database yang sedemikian rupa, sehingga secara otomatis akan menggunakan database yang berbeda untuk kedua environtment tersebut. Namun, untuk saat ini, saya akan menunjukkan dasar konfigurasi dalam codeigniter saja, untuk setup multi database dengan multi engine (menggunakan MySQL dan MsSQL secara bersamaan) dengan tujuan multi database ORM, akan kita bahas kemudian hari. Dan konfigurasi yang minimalis dapat kita lihat pada gambar dibawah ini:
32
Gambar 6.4 Konfigurasi bawaan dari file database.php Untuk saat ini, anda boleh tidak menghiraukan konfigurasi yang manapun dari seting default ini, kecuali: !
Hostname: lokasi dari database anda
!
Username: username database anda
!
Password: password database anda
!
Database: nama database yang akan anda gunakan
!
Dbdriver: tipe database yang akan anda gunakan, bisa MySQL, MySQLi, PostgreSQL, ODBC, dan MsSQL.
Untuk saat ini saya akan membuat menggunakan database database dengan nama db_belajar db_belajar.. Kemudian hasil konfigurasi dari file database.php akan menjadi seperti pada gambar di bawah ini:
33
Gambar 6.5 Konfigurasi akhir dari file database.php
KONFIGURASI AUTOLOAD File ini berada di dalam folder application/config/autoload.php, secara default, akan menentukan apa saja yang secara otomatis akan di panggil atau di-load saat system berjalan. Untuk menjaga agar framework codeigniter tetap ringan dan cepat, maka default system hanya memanggil resource seminimal mungkin. Jika anda sering menggunakan library, driver, helper, language, model, ataupun file konfigurasi buatan sendiri, maka akan lebih baik untuk meletakkannya di
dalam
file
konfigurasi
autoload.php
ini
daripada
melakukan
pemanggilan secara berulang-ulang di dalam controller anda. Berikut ini adalah cara bagaimana kita melakukan pemanggilan otomatis dalam file konfigurasi autoload.php
34
!
Libraries: digunakan untuk membuat daftar library yang akan kita load secara otomatis. Contohnya sebagai berikut:
Gambar 6.6 Contoh cara autoload libraries !
Drivers: fitur ini digunakan untuk memanggil Class yang terdapat dalam folder system/libraries/ atau dalam application/libraries, atau diletakkan dalam sub folder tersendiri yang merupakan Class extends dari CI_Driver_Library. Berikut adalah contoh cara memanggil sebuah driver:
35
Gambar 6.7 Contoh cara autoload driver !
Helper: variabel ini digunakan untuk memmuat daftar helper yang akan dipanggil secara otomatis oleh system codeigniter. Contoh pemanggilah helper adalah sebagai berikut:
Gambar 6.8 Contoh cara autoload helper !
Config: variabel config ini digunakan untuk memanggil file-file configurasi yang anda buat untuk keperluan anda sendiri, namun jika anda tidak membuat file konfigurasi apapun, biarkan saja seperti apa adanya. Namun jika anda membuatnya, maka cara pemanggilan file tersebut adalah sebagai berikut:
36
Gambar 6.9 Contoh cara autoload file konfigurasi kustom !
Language: ini adalah variabel untuk memanggil file language, lihatlah contoh cara pemanggilan seperti gambar 6.9 dibawah ini. Namun perlu diperhatikan, bahwa meskipun cara penamaan file yang digunakan dalam codeigniter menggunakan postfix ‘_lang’, anda tidak perlu memanggilnya dengan akhiran ‘_lang’. Lebih jelasnya perhatikan contoh di bawah ini: Missal
anda
membuat
file
Bahasa
dengan
nama
‘indonesia_lang.php’, maka yang anda panggil cukup ‘indonesia’ saja.
Gambar 6.10 Contoh cara autoload konfigurasi language !
Model: variabel ini digunakan untuk memanggil secara otomatis, Class model yang sering kita gunakan. Contoh penggunaannya dapat di lihat pada gambar 6.10 di bawah ini:
37
6.11 Contoh cara autoload nama-nama model yang sering digunakan
38
7 DATABASE DALAM CODEIGNITER
MENGHUBUNGKAN DATABASE Seperti hanya framework-framework yang lain, untuk berinteraksi dengan database database,, Codeigniter telah menyediakan sebuah library library yang yang memudahkan kita untuk melakukan hal-hal yang berhubungan dengan database. Pada bab ini, kita akan mulai belajar bagaimana membuat serangkaian method atau fungsi CRUD CRUD (Cread, (Cread, Read, Update, Delete) dalam framework Codeigniter. Namun sebelumnya kita harus membuat sebuah database dengan nama “db_belajar” “db_belajar” dan dan didalamnya kita buat sebuah tabel tabel dengan dengan nama “user” “user”.. Tabel 7.1 Tabel user
Id_user nama_user
Nama Tabel: user Int(11) AI, PK Varchar(50) NN
id dari user nama user
39
View more...
Comments