1. Konsep M V
C (Model-View Controller)
§
Pengertian :
adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara
bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektur MVC. MVC memisahkan pengembangan aplikasi
berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka
pengguna, dan bagian yang
menjadi kontrol dalam sebuah aplikasi web.
§
Sejarah MVC :
Model
View Controller pertama sekali dipublikasikan oleh peneliti XEROX
PARC yang bekerja
dalam pembuatan bahasa
pemrograman Smalltalk sekitar tahun 1970-1980
§
Bagian dari MVC :
1.
Model
merupakan bagian
yang didesain untuk bekerja dengan database. Model bisa juga diartikan sebagai
bagian yang digunakan untuk membuat semacam prototipe data. Bagian model ini
biasanya berisi berbagai query yang dialamatkan pada sebuah database. Berbagai
query tersebut disesuaikan dengan kebutuhan data yang akan diolah menjadi
controller, sebelum akhirnya ditampilkan menggunakan view. File-file model
diletakkan di dalam folder application/models
2.
View,
adalah bagian yang mengatur tampilan ke pengguna. Bisa
di katakan berupa halaman web.
3.
Controller
merupakan bagian
yang digunakan untuk menempatkan fungsi-fungsi logika pengolah data yang telah
diperoleh dari model (atau sumber lainnya), kemudian ditampilkan melalui (atau
tanpa) view. Melalui controller inilai request HTTP akan diolah.Nantinya nama
kelas dan method beserta parameternya yang terdapat dalam controller akan
digunakan dalam pengasosiasian URI sehingga pemahaman tentang controller ini
mutlak dibutuhkan. File controller dibawah folder application/controllers
§
Jenis MVC pada website :
·
Server Side MVC, Server Side MVC biasa terjadi pada aplikasi web tradisional, yang tidak melibatkan client side seperti Javascript, Java applet, Flash, dan
lain-lain. Server Side MVC menyerahkan keseluruhan proses bisnis pada server, aplikasi pada
sisi pengguna hanya dapat menerima. MVC jenis ini kadang-kadang disebut juga
dengan nama Thin Client.
·
Mixed Client Side and Server Side MVC, Pada Mixed Client Side and Server Side MVC 1 client
tidak menggunakan model sebagai jembatan untuk melakukan komunikasi pada
server, dibandingkan dengan Server Side MVC, arsitektur ini memiliki tingkat
kompleksitas yang lebih tinggi karena lebih banyak komponen yang terlibat.
Untuk selanjutnya arsitektur ini disebut, dengan Mixed MVC 1. Pada Mixed Client
Side and Server Side MVC 2, client menggunakan model sebagai jembatan untuk
melakukan komunikasi pada server, dibandingkan dengan arsitektur MVC yang
lain, arsitektur ini memiliki tingkat kompleksitas yang paling tinggi karena
lebih banyak komponen yang terlibat, sehingga membutuhkan sumber daya yang lebih besar pula. Untuk selanjutnya arsitektur ini disebut dengan Mixed
MVC .
·
Rich Internet Application MVC, Application MVC Rich Internet Application (RIA)
disebut juga dengan nama Fat Client, merupakan aplikasi web yang
memiliki kemampuan dan fungsi hampir seperti aplikasi desktop. RIA pada sisi client, memiliki mesin untuk
mengambil data yang berada pada server, sehingga pada client terdapat bagian
MVC sendiri dan hanya membutuhkan bagian model pada sisi server.
2.
Konsep Framewrok pada PHP
PHP adalah sebuah
bahasa pemograman web yang populer, tangguh dan dapat di peroleh secara gratis
. untuk mempermudah dan mempercepat pengembangan aplikasi dengan PHP, banyak
bermunculan framework PHP. Framework adalah kumpulan script (terutama
class dan function) yang dapat membantu developer/programmer dalam menangani
berbagai masalah-masalah dalam pemrograman seperti koneksi ke database,
pemanggilan variabel, file,dll sehingga developer lebih fokus dan lebih cepat
membangunaplikasi. Sedangkan php
framework adalah sebuah lingkungan pengembangan aplikasi berbasis php yang
berisi sejumlah class-class yang telah dibuat agar digunakan kembali untuk
membuat aplikasi. Jenis class-class ini tergantung tujuan dari php framework
tersebut, php framework yang satu dengan framework yang lain kemungkinan
berbeda. Tetapi sebagian besar, php framework yang tersedia saat ini berbasis MVC (model view
controller), ini model php framework yang modern. Jika menulis aplikasi dengan
suatu framework, maka harus mengikuti aturan dari framework tersebut, tidak
boleh asal. Karena inilah perusahaan menggunakan framework daripada membiarkan
si programmer dengan style nya.
§ Kelebihan Framework di php
·
Mempercepat dan
mempermudah pembangunan sebuah aplikasi PHP
·
Relatif
memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah
framework (dengan syarat programmer mengikuti pola standar yang ada)
·
Umumnya
framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak
perlu membangun dari awal
·
(misalnya
validasi, ORM, pagination, multiple database, scaffolding, pengaturan session,
error handling, dll
·
Lebih bebas
dalam pengembangan jika dibandingkan CMS
§ Contoh PHP Framework :
1.
CodeIginter
2.
CakePHP
3.
Akelos
4.
Zend
5.
Symfony
6.
Prado
7.
Yii
8.
Kohana
§ Java Script Framework ?
Framework
Javascript itu adalah sebuah tool yang di gunakan pada
bahasa pemrograman javascript untuk mempermudah dalam penggunaannya.
Awal pengembangan Framework Javacript dimulai saat memasuki era Web 2.0, generasi kedua dari layanan berbasis web dimana
lebih meniktik beratkan pada kolaborasi online, sharing content antar pengguna dan lebih terarah ke User Content Generated.
Nah, berdasarkan kebutuhan akan konsep dan paradigma baru dalam pengembangan aplikasi berbasis web tersebut maka dalam pengembangannya diperlukan suatu sistem alur kerja yang bisa memudahkan dalam menciptakan aplikasi berbasis web yang canggih dan interaktif. Salah satu yang sering digunakan para developer tersebut adalah JavaScript Framework/Libraries dimana didalamnya terdapat JavaScript yang telah ditulis sedemikian rupa dimana sangat membantu dalam pengembangan sebuah Aplikasi Web, terutama dalam pengembangan AJAX (Asynchronous JavaSript And XML). Sebuah teknik pemanggilan cepat tanpa melakukan reload terhadap suatu page.
Awal pengembangan Framework Javacript dimulai saat memasuki era Web 2.0, generasi kedua dari layanan berbasis web dimana
lebih meniktik beratkan pada kolaborasi online, sharing content antar pengguna dan lebih terarah ke User Content Generated.
Nah, berdasarkan kebutuhan akan konsep dan paradigma baru dalam pengembangan aplikasi berbasis web tersebut maka dalam pengembangannya diperlukan suatu sistem alur kerja yang bisa memudahkan dalam menciptakan aplikasi berbasis web yang canggih dan interaktif. Salah satu yang sering digunakan para developer tersebut adalah JavaScript Framework/Libraries dimana didalamnya terdapat JavaScript yang telah ditulis sedemikian rupa dimana sangat membantu dalam pengembangan sebuah Aplikasi Web, terutama dalam pengembangan AJAX (Asynchronous JavaSript And XML). Sebuah teknik pemanggilan cepat tanpa melakukan reload terhadap suatu page.
§
Kelebihan dari javascript framewrok :
·
Efisiensi
Dengan menggunakan
framework kita tidak perlu lagi untuk menulis ratusan baris kode, kita cukup
menggunakan fungsi-fungsi utama yang telah disediakan pada framework, dan
mengembangkannya sesuai dengan kebutuhan. Sebagai contoh dalam membuat validasi
pada sebuah form. Kita tidak perlu direpotkan untuk membuat script cukup rumit
ketika bertemu dengan masalah cross-browser, misalnya script yang kita buat
berjalan baik pada Mozilla Firefox tapi tidak berjalan mulus pada Internet
Explorer.
·
Keamanan
Framework yang kita gunakan
telah diuji oleh banyak orang terutama oleh tim si pembuat framework tersebut.
Keuntungan yang besar adalah komunitas dibelakang framework tersebut. Jika kita
menemukan bugs, kita cukup mengunjungi pembuat framework tersebut,
melaporkannya dan berdiskusi dengan pengguna yang lain. Biasanya jika bugs yang
ditemukan cukup berpengaruh, maka mereka akan dengan cepat memperbaikinya.
·
Hemat Biaya
Selain hemat waktu,
framework juga hemat biaya. Saat ini banyak sekali framework bertebaran di internet
dan gratis untuk di download.
·
Kemudahan dalam dukungan
Framework biasanya
didokumentasikan dengan baik, dilengkapi dengan konvensi, tutorial dan contoh
script yang siap pakai. Jika Anda menemukan kendala, cukup bergabung dalam
komunitas tersebut, dan Anda akan menemukan jawabannya.
3.
Perbandingan antara jenis
framework PHP
·
CodeIgniter
CodeIgniter adalah
salah satu dari sekian banyak framework PHP yang tersedia secara gratis.
Pengembang CodeIgniter adalah seorang musisi rock-n-roll bernama Rick Ellis
dari EllisLab. Tujuan dari pembuatan framework CodeIgniter ini menurut user
manualnya adalah untuk menghasilkan framework yang akan dapat digunakan untuk
pengembangan proyek pembuatan website secara lebih cepat dibandingkan dengan
pembuatan website dengan cara koding secara manual, dengan menyediakan banyak
sekali pustaka (library) yang dibutuhkan dalam pembuatan website, dengan
antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang
dibutuhkan.
CodeIgniter
dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan,
misalnya saja koneksi database, email, session dan cookies, keamanan,
manipulasi gambar dan banyak lagi.Berikut ini adlaha konsep dari CI(code
Igniter)
§ Fitur-Fitur CodeIgniter
Berikut
fitur-fitur yang didukung oleh CodeIgniter :
Sistem berbasis Model View Controller
1.
Kompatibel dengan PHP versi 4.
2. Ringan dan Cepat.
3. Terdapat dukungan untuk berbagai basis data.
4. Mendukung Active Record Database.
5. Mendukung form dan validasi data masukan.
6. Keamanan dan XSS filtering.
7. Tersedia pengaturan session.
8. Tersedia class untuk mengirim email.
9. Tersedia class untuk manipulasi gambar (cropping,resizing,
rotate dan lain-lain).
10. Tersedia class untuk upload file.
11. Tersedia class yang mendukung transfer via FTP.
12. Mendukung lokalisasi bahasa.
13. Tersedia class untuk melakukan pagination (membuat
tampilan perhalaman).
14. Mendukung enkripsi data.
15. Mendukung benchmarking.
Kelebihan
- Mudah digunakan dan tidak memerlukan konfigurasi yang rumit
- Fungsi-fungsi pendukung yang cukup lengkap
- Mendkung PHP4 dan PHP5
- Mungkin merupakan Framework MVC paling populer dan paling banyak digunakan
- Dokumentasi yang sangat bagus, friendly dan didukung oleh forum, wiki, dan komunitas yang besar
Kekurangan
- Tidak mendukung AJAX, dan ORM
- Meyediakan dan memisahan file-file dalam MVC pattern, tapi masih memberikan kebebasan user untuk melanggar aturan MVC
·
CakePHP
CakePHP mengadopsi konsep arsitektur MVC (Model View
Controller) dan ORM (Object Relational Mapping). Aplikasi yang dibangun dengan
CakePHP bisa dijalankan di PHP 4 maupun PHP 5. CakePHP juga mendukung berbagai
database populer seperti MySQL, PostgreSQL, SQLite, MS SQL, DB 2, dan Oracle.
Beberapa modul
tambahan seperti Security, Session, Access Control List, dan Authentication
memungkinkan kita membangun aplikasi dengan cepat dan mudah. Tak hanya itu,
CakePHP juga mendukung JavaScript, AJAX, RSS, Email, dan XML yang sudah
terintegrasi dalam core library-nya.Sayangnya saat ini dokumentasi yang
disediakan CakePHP kurang begitu bagus. Meskipun demikian pertumbuhan komunitas
yang mendukung CakePHP ini sangat pesat.
Kelebihan
- Dukungan terhadap AJAX, ORM
- Automagic function seperti validasi input, dll, yang mempercepat coding
- Support PHP4 dan PHP5
- Lebih mencerminkan MVC yang sesungguhnya dibandingkan CI
- Komunitas pengguna yang besar dan forum cukup baik
Kekurangan
- Manual yang ada tidak selengkap CI.
- Butuh
waktu belajar yang lebih lama untuk menguasai framework ini dibanding CI.
Tapi jika sudah benar-benar mengerti, banyak kelebihan dibanding CI.
Beberapa situs menyarankan anda untuk belajar dan terbiasa dulu
dengan CodeIgniter baru kemudian mempelajari CakePHP.
·
Symfony
Symfony adalah
framework web yang ditujukan untuk PHP 5. Selain itu Symfony juga kompatibel
dengan berbagai sistem database. Sama seperti CakePHP dan CodeIgniter, Symfony
juga menganut arsitektur MVC (Model View Controller).
Dukungan untuk
AJAX juga tersedia di framework Symfony ini. Dokumentasi yang disediakan cukup
baik. Mungkin yang menjadi persoalan adalah proses instalasi dan konfigurasi
cukup rumit bila dibandingkan dengan framework sebelumnya.
Kelebihan
- Dukungan terhadap AJAX, ORM.
- Kompatibel dengan berbagai macam database.
- Banyak library dan fungsi symfony yang sudah tersedia. Bahkan hampir mendekati CMS. Sehingga ada yang mengatakan ”Symphony is a CMS with a heart of a framework.” ini menjadi kelebihan sekaligus kekurangan.
Kekurangan
- Tidak mendukung PHP4.
- Relatif butuh waktu lama untuk mengerti framework ini.
- Instalasi dan konfigurasinya cukup rumit.
·
Zend
Kelebihan
- Dukungan terhadap AJAX, ORM.
- Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari Zend Framework ini adalah untuk membangun aplikasi berbasis Web dan untuk memudahkan dalam mengakses API dari berbagai vendor seperti Google, Amazon, Yahoo!, dan Flickr.
Kekurangan
- Tidak mendukung PHP4.
- Manual yang ada kurang mengakomodasi kebutuhan.
- Performanya relatif lambat (mungkin karena banyaknya library).
- Konon katanya Framework ini hanya cocok untuk orang dengan skill PHP yang sudah sangat tinggi.
·
Akelos
Merupakan
Framework yang relatif baru dengan kemampuan yang handal dan lengkap
Kelebihan
- Dukungan terhadap PHP4, PHP5, AJAX, ORM (cukup lengkap dan cukup mengakomodasi semua kebutuhan yang umum dari aplikasi php)
Kekurangan
- Kurang adanya dukungan komunitas. Mungkin karena masih relatif baru
·
Beberapa forum mengatakan
bahwa framewok ini cukup banyak memakan memory
·
Kohana
KohanaPHP adalah sebuah Perangkat lunak
kerangka (FrameWork), yaitu perangkat lunak yang berupa sekumpulan kode yang
memiliki suatu fungsi umum dan memudahkan pengembang perangkat lunak untuk
membangun suatu proyek. Bukan tentang malas atau rajin, keberadaan perangkat
lunak ini memberikan suatu fungsi dan batasan yang membuat pengembang menjadi
lebih terfokus pada pengembangan detail proyek. Pengembang perangkat lunak ini
juga membuat suatu standar khusus terhadap struktur. Ini adalah suatu kemudahan
bagi pengembang/pengguna akhir yang ingin mengembangkan suatu aplikasi
berdasarkan kerangka standar.
4.
Salah
Satu Framework [CodeIgniter]
§ Apa itu codeigniter?
CodeIgniter adalah aplikasi open source yang berupa framework
dengan model MVC
(Model, View, Controller) untuk membangun website dinamis dengan
menggunakan PHP. CodeIgniter
memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah
dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil
terakhir 2.1.0 yang dirilis pada 28 November 2011.
Sebelum
membahas lebih jauh tentang salah satu
framework PHP ini, mungkin kalian ada yang masih bingung apa itu
Framework, apa itu MVC (Model, View,
Controller)?
Framework secara
sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-prosedur dan
class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih
mempermudah dan mempercepat pekerjaan seorang pemrograman, tanpa harus membuat
fungsi atau class dari awal.
§
Ada beberapa alasan mengapa menggunakan Framework:
a. Mempercepat dan mempermudah pembangunan sebuah
aplikasi web.
b. Relatif memudahkan dalam proses maintenance karena sudah ada pola
tertentu dalam sebuah framework
(dengan syarat programmer mengikuti pola standar yang ada)
c. Umumnya framework
menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu
membangun dari awal (misalnya validasi, ORM,
pagination, multiple database, scaffolding, pengaturan session, error handling, dll
d. Lebih bebas dalam pengembangan jika dibandingkan CMS
§
Ada Beberapa Keunggulan codeigniter(CI)
framework .
a. Performa sangat cepat : salah satu alasan tidak menggunakan framework
adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi
Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan
framework yang paling cepat dibanding framework yang lain.
b. Konfigurasi yang sangat 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 merubah sedikit saja file pada folder
config.
c. Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita
untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
d. Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikan
permulaan, bahasanya pun mudah dipahami.
§ Framework Codeigniter mempunyai beberapa kelebihan, diantaranya
:
·
Gratis
Codeigniter dilisensikan dibawah lisensi Apache/BSD style open source.
Jadi ini berarti Codeigniter dapat dipakai secara bebas.
·
Support PHP4 dan PHP5
Walau saat ini PHP telah mencapai versi 5 bahkan versi 6, namun masih
banyak juga orang – orang yang memakai PHP4. Oleh sebab itu, pengembang
Framework Codeigniter memperhatikan betul setiap pengguna, oleh karenanya
Framework Codeigniter dikembangkan agar mampu berjalan baik PHP4 Maupun PHP5.
·
Ukuran File Kecil dan Cepat
Dibandingkan dengan Framework lain, semisal CakePHP, Codeigniter adalah
alternative bagi kamu yang menginginkan akses yang cepat. Kenapa bisa cepat?
Karena Codeigniter hanya me-load fungsi atau library yang digunakan saja,
berbeda dengan Framework lainnya yang menggunakan seluruh library walaupun
library tersebut tidak digunakan. Alasan inilah yang menjadikan Codeigniter dengan
akses tercepat dan ringan.
·
Dokumentasi
Framework yang baik pastinya dilengkapi dengan dokumentasi yang lengkap
dan mendukung, agar bisa mudah dipahami oleh penggunanya. Didukung oleh User
Guide yang mudah dimengerti, dari mulai install sampai pada fungsi-fungsinya
semua ada.
·
Memakai konsep MVC
Codeigniter memakai konsep MVC (Model View Controller), konsep
modern yang banyak dipakai oleh framework PHP lainnya. Dengan adanya MVC,
Pengerjaan antara logika dengan layout telah dipisahkan, sehingga antara si
programmer dan designer dapat santai melakukan tugasnya.
·
Komunitas
Framework Codeigniter memiliki sebuah komunitas, kamu bisa bergabung
pada situs codeigniter.com/forums
§ Disamping
kelebihan atau keuntungan, Framework Codeigniter juga memiliki beberapa
kelemahan atau kekurangan diantaranya adalah :
1.
Codeigniter dikembangkan oleh Ellislab dan bukan oleh suatu komunitas,
yang menyebabkan update core engine-nya tidak secepat framework lain.
2.
Tidak ditujukan untuk pembuatan web dengan skala besar (enterprise)
walaupun tersedia banyak library.
3.
Masih banyak kelonggaran dalam hal coding, misalnya bebas dalam menambah
file.
4.
Tidak mencerminkan MVC yang sesungguhnya, misalnya penulisan echo masih dapat dilakukan pada file
controller.
§ Cara Install Codeigniter
Pada bagian ini saya akan
menjelaskan bagaimana cara install Framework Codeinginer pada komputer lokal
Anda. Tutorial ini ditujukan bagi mereka yang baru mengenal yang namanya
Codeigniter (sangat pemula) dan ini merupakan bagian teknis atau langsung
praktek.
Selain menginstall Codeigniter, saya akan berikan sedikit cara kerja Framework
ini berdasarkan pengalaman pribadi saya menggunakan Framework ini. Mari kita
mulai dengan mempersiapkan beberapa kebutuhan untuk dapat mempraktekan tutorial
ini.
Beberapa hal yang harus disiapkan dalam
praktek tutorial ini antara lain:
1.
Program PHP
sebagai bahasa pemrograman, karena Codeigniter ditulis menggunakan bahasa pemrograman
PHP.
2.
Web Server,
dalam hal ini saya menggunakan Apache sebagai web servernya.
3.
Database, dalam
hal ini MySQL (optional, karena kita belum memanfaatkan database dalam praktek
ini)
4.
IDE (Editor),
dalam hal ini saya menggunakan Dreamweaver.
5.
Codeigniter,
sebagai Framework yang dapat didownload di halaman ini,
saya menggunakan versi 2.1.3 pada saat membuat tutorial ini.
6.
Untuk program
PHP-MySQL-Apache, sudah banyak package yang tinggal install, artinya dengan
satu kali install, dikomputer kita sudah terinstall tiga aplikasi tersebut
(PHP-MySQL-Apache). Misalnya WampServer,
Xampp,
dll
7.
Jangan lupa
sediakan segela susu agar otak lebih encer
Mari kita mulai langkah demi langkah untuk
menginstall Framework Codeigniter ini. Oh iya saya menggunakn Sistem Operasi
Windows 7 dan menggunakan Wamp 2.0 untuk membuat tutorial ini.
1.
Download
program Codeigniter seperti pada nomor 5 diatas. Nanti anda akan menemukan
bentuk zip dengan ukuran file 2,2 MB.
2.
Unzip program
Codeigniter (orang menyebutnya CI) dan simpan ke folder root server kita (ke
folder ‘www’ kalau di wamp atau ‘htdocs’ atau ‘public_html’ tergantung package
PHP nya), kemudian rename (ubah) nama foldernya dari “CodeIgniter_2.1.3″
menjadi “codeigniter”, seperti pada
gambar dibawah ini:
Dalam folder CI, terdiri dari 3
folder, “application” ini folder untuk developer yang nanti kita akan obrak
abrik, “system” berisi library atau kumpulan fungsi-fungsi dasar CI, dan
“user_guide” berisi tuntunan semacam help-nya.
3.
Kalau sudah
dicopy, tinggal akses “localhost/codeigniter” dan kalau berhasil maka akan
muncul halaman selamat datang. Ini merupakan kesksesan Anda, jika belum
silahkan coba ulangi langkah-langkahnya.
4.
Untuk mengubah
pesan diatas, kita bisa masuk ke folder
codeigniter/application/views/welcome_message.php disitu Anda bisa mengubahnya
secara bebas dengan kata-kata sendiri, silahkan dicoba dan wajib dicoba.
5.
Selanjutnya
kita akan menjelaskan cara kerjanya.
Pertama tentu akan membaca index.php di bawah folder
codeigniter, kemudian index.php tersebut akan membaca file yang ada di config,
seperti application/config/autoload.php yang akan me-load fungsi-fungsi sesuai
konfigurasi (kalau install pertama, file ini tidak me-load file atau masih
kosong).Selanjutnya akan membaca file application/coonfig/route.php yang akan memetakan kemana file selanjutnya dibaca (menunjuk controller apa yang akan dibaca pertama), pertama install controller yang pertama kali dibaca adalah application/controller/welcome.php dan dari controller tersebut akan dilempar ke view di application/views/wecome_message.php.
Ingat konsep MVC pada Codeigniter, dalam hal ini M (model) belum ada, sedangkan V (views) adalah “application/views/wecome_message.php” dan C (controller) application/controller/welcome.php
§ Cara kerja ?
1.
Sang index.php Saat kita
mengakses sebuah alamat domain, browser akan mencari salah satu skrip:
index.html, index.php, index.phtml. Tidak hanya CodeIgniter, tetapi semua
website yang dibangun yang ada di internet. Dalam koteks CodeIgniter, index.php
berperan sebagai controller awal, yang akan menginisialisasi sumber-daya yang
dibutuhkan untuk menjalankan CodeIgniter..
2.
Si Router Berperan layaknya
penerjemah. Router akan mengarahkan ke mana skrip selanjutnya di eksekusi.
Pertama-tama, router akan menganalisa HTTP
request, setelkah itu baru meutuskan apa
yang selanjutnya akan dikerjakan.
3.
Cache Untuk
keperluan performa, cache biasanya digunakan oleh pengembang. Cache adalh
metode untuk menyimpan data-data yang sudah pernah di akses sebelumnya. Jadi
alih-alih membuat panggilan baru, jika terdapat cache untuk permintaan yang
sama, maka cache inilah yang akan digunakan terlebih dahulu. Hal ini akan
membypass eksekusi normal yang biasanya dilakukan saat tidak ada cache.
4.
Security Sebelum
controller di panggil, semua data, baik permintaan HTTP sampai dsata yang
dikirimkan oleh user akan di saring terlebih dahulu. Hal ini adalah security
level pertama dalam sebuah website. Paling tidak, potensi serangan terhadap
website, seperti XSS
(Cross Server Scripting)
bisa diminimalisir. Hal ini juga menjamin semua data yang akan disimpan ke
dalam database sudah di escape terlebih dahulu.
5.
Sang Controller Layaknya
seorang pengatur lalu lintas, controller akan memanggil model, library utama,
helper, dan elemen lain yang dibutuhkan untuk sebuah request yang terjadi.
Request yang dimaksud adalah URL sebuah website. Dalam framework CodeIgniter,
nama kelas dan fungsi di dalam controller inilah yang akan menjelma menjadi
sebuah URL. Bisa dibilang, inilah bussiness logic dari sebuah aplikasi website
yang dikembangkan dengan metode MVC ( Model
View Controller )..
6.
Si View Pada akhirnya semua
akan bermuara pada tampilan, view.
Inilah paripurna dari segala proses yang terjadi pada framework CodeIgniter. End user
akan selalu berinteraksi dengan view, yang akan menampilkan hasil eksekusi
logika pada controller, pengolahan data yang dilakukan di Model, dan pengaturan
jalur yang dilakukan oleh router. Jika pilihan cache diaktifkan, view
akan di cache terlebih dahulu, sehingga saat ada request yang sama terhadap
view tersebut, data yang tersimpan di dalam folder cache inilah yang akan
dikirimkan langsung ke browser.
Seorang pengembang seharusnya mengetahui alur proses
dari sebuah framework yang digunakan. Dengan pemahaman ini, kurva dalam
mempelajari sebuah framework baru akan lebih cepat, karena inilah pondasi utama
aplikasi yang sedang dibangun
5.
K e s i m p u l a n
§ Mengapa Framework?
·
Mempercepat dan mempermudah pembangunan sebuah aplikasi PHP
·
Relatif
memudahkan dalam proses maintenance karena sudah ada pola tertentu
dalam sebuah framework (dengan syarat programmer mengikuti pola standar
yang ada)
memudahkan dalam proses maintenance karena sudah ada pola tertentu
dalam sebuah framework (dengan syarat programmer mengikuti pola standar
yang ada)
·
Umumnya framework menyediakan fasilitas-fasilitas
yang umum dipakai sehingga kita tidak perlu membangun dari awal
(misalnya validasi, ORM, pagination, multiple database, scaffolding,
pengaturan session, error handling, dll
yang umum dipakai sehingga kita tidak perlu membangun dari awal
(misalnya validasi, ORM, pagination, multiple database, scaffolding,
pengaturan session, error handling, dll
·
Lebih bebas dalam pengembangan jika dibandingkan CMS
§
Tujuan
Framework
·
Mempermudah
dalam membuat Web app
·
Mempercepat
perancangan web , karena berbagai fitur telah siap di gunakan
·
Meningkatkan
Scurity
§
Manfaat Framework
Beberapa manfaat yang dapat kita peroleh dengan menggunakan framework dalam pengembangan aplikasi :
Beberapa manfaat yang dapat kita peroleh dengan menggunakan framework dalam pengembangan aplikasi :
·
Penggunaan komponen-komponen reusable, waktu pengembangan lebih singkat
penerapan design patterns memudahkan dalam rancangan, pengembangan dan
pemeliharaan sistem.
·
Stability dan reliability, aplikasi yang kita bangun lebih stabil dan
handal karena berbasis pada framework yang sudah teruji stabilitas dan
kehandalannya.
·
Coding style konsisten, memudahkan dalam membaca kode dan dalam menemukan
bugs.
·
Security concern, framework mengantisipasi dan memasang perisai terhadap
adanya berbagai masalah keamanan yang mungkin timbul.
·
Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi
untuk apa yang kita tulis.
Sumber
:
Tidak ada komentar:
Posting Komentar