Belajar CodeIgniter Di Android

bitsan pc.jpg

CodeIgniter adalah kerangka kerja PHP yang kuat dengan ukuran yang sangat kecil, dibuat untuk pengembang/web developers yang membutuhkan perangkat sederhana dan elegan untuk membuat aplikasi web berfitur lengkap

Pembuat
CodeIgniter dibuat oleh EllisLab, dan sekarang menjadi proyek Institut Teknologi British Columbia.

Audience
Tutorial ini telah disiapkan untuk pengembang yang ingin mempelajari seni mengembangkan situs web menggunakan CodeIgniter. Ini memberikan pemahaman lengkap tentang kerangka kerja ini.

Prasyarat
Sebelum Anda mulai melanjutkan dengan tutorial ini, kami berasumsi bahwa Anda sudah belajar / paham tentang HTML, Core PHP, dan Advance PHP.

Ikhtisar - CodeIgniter
CodeIgniter adalah framework pengembangan aplikasi, yang dapat digunakan untuk mengembangkan situs web, menggunakan PHP. Ini adalah kerangka Open Source. Ini memiliki serangkaian fungsionalitas yang sangat kaya, yang akan meningkatkan kecepatan kerja pengembangan situs web.

Jika Anda memahami PHP dengan baik, maka CodeIgniter akan mempermudah tugas Anda. Ini memiliki kumpulan perpustakaan dan pembantu yang sangat kaya.
Dengan menggunakan CodeIgniter, Anda akan menghemat banyak waktu, jika Anda mengembangkan situs web dari awal. Tidak hanya itu, situs web bawaan CodeIgniter juga aman, karena memiliki kemampuan untuk mencegah berbagai serangan yang terjadi melalui situs web.

Fitur CodeIgniter
Beberapa fitur penting CodeIgniter tercantum di bawah ini -

• Sistem Berbasis Model-View-Controller
• Sangat Ringan
• Kelas database Unggulan lengkap dengan dukungan untuk beberapa platform.
• Dukungan Database Query Builder
• Validasi Formulir dan Data
• Keamanan dan Pemfilteran XSS
• Manajemen Sesi
• Kelas Pengiriman Email. Mendukung Lampiran, HTML / Teks email, banyak protokol (sendmail, SMTP, dan Mail) dan banyak lagi.
• Perpustakaan Manipulasi Gambar (memotong, mengubah ukuran, memutar, dll.). Mendukung GD, ImageMagick, dan NetPBM
• Kelas Mengupload File
• Kelas FTP
• Lokalisasi
• Penomoran halaman
• Enkripsi data
• Pembandingan
• Caching Halaman Penuh
• Error Logging
• Pembuatan Profil Aplikasi
• Kelas Kalender
• Kelas Agen Pengguna
• Kelas Pengkodean Zip
• Kelas Mesin Template
• Kelas Trackback
• Perpustakaan XML-RPC
• Kelas Pengujian Unit
• URL Ramah Mesin Telusur
• Perutean URI Fleksibel
• Dukungan untuk Hooks dan Class Extensions
•Perpustakaan besar dari fungsi "helper"


Menginstal - CodeIgniter
Sangat mudah untuk menginstal CodeIgniter. Ikuti saja langkah-langkah yang diberikan di bawah ini -

• Langkah-1 - Unduh CodeIgniter dari tautan / link resmi CodeIgniter Klik Disini

° Ada dua opsi berbeda lama dan terbaru. Nama itu sendiri deskriptif. legacy memiliki versi kurang dari 2.x dan yang terbaru memiliki versi 3.1^ Bahkan sekarang saat artikel ini dibuat sudah ada versi paling terbaru yakni versi 4.0^.
Kita juga bisa menggunakan GitHub dan mendapatkan semua skrip terbaru ...

• Langkah-2 - Buka zip foldernya. kemudian extrak
- komputer/leptop menggunakan winrar
-smartphone menggunakan x-plore/zarchiver

• Langkah-3 - Unggah semua file dan folder ke server Anda.

• Langkah-4 - Setelah mengunggah semua file ke server Anda, kunjungi URL server Anda, misalnya, domainku.com.

jika menginstall di local maka anda harus melakukan ini
- jika anda menggunakan xampp , extrak folder CodeIgniter di htdocs
- jika anda menggunakan lamp , extrak folder di www
- jika anda menggunakan KSWEB ( Web Server Khusus Pengguna Smartphone Android ) , extrak folder di sdcard/htdocs
lalu kunjungi url di browser anda

Saat mengunjungi URL, Anda akan melihat layar berikut -
gambar selamat datang saat pertama menginstall CodeIgniter

agar lebih mudah diakses mari kita rename / rubah nama folder codeigniter menjadi simple, disini kita akan me-rename foldernya menjadi devandroid
perhatikan gambar berikut.
klik ganti nama / rename folder nya sesuai keinginan anda
maka akan terlihat seperti ini
Penting :
Jangan lupa mengubah config di folder
application/config/config.php
dan ubahlah base_url nya.
gambar sebelum diubah

gambar setelah diubah
menjadi $config['base_url'] = 'localhost/namafolder/';
sehubungan kita telah merubah folder CodeIgniter menjadi devandroid
maka base url nya menjadi seperti gambar diatas.
lalu coba kunjungi urlnya : localhost/devandroid
maka akan seperti gambar berikut


Arsitektur aplikasi CodeIgniter akan terlihat seperti gambar di bawah ini.
arsitektur cara kerja CodeIgniter


Seperti yang ditunjukkan pada gambar diatas, setiap kali sebuah permintaan datang ke CodeIgniter, pertama-tama ia akan masuk ke halaman index.php .

Pada langkah kedua, Perutean akan memutuskan apakah akan meneruskan permintaan ini ke langkah-3 untuk penyimpanan cache atau meneruskan permintaan ini ke langkah-4 untuk pemeriksaan keamanan.

Jika halaman yang diminta sudah dalam Caching , maka Routing akan meneruskan permintaan ke langkah-3 dan responnya akan kembali ke pengguna.

Jika halaman yang diminta tidak ada di Caching , maka Routing akan meneruskan halaman yang diminta ke langkah-4 untuk Pemeriksaan keamanan .

Sebelum meneruskan permintaan ke Pengontrol Aplikasi , Keamanan data yang dikirimkan diperiksa. Setelah pemeriksaan Keamanan , Pengontrol Aplikasi memuat Model, Perpustakaan, Pembantu, Plugin, dan Skrip yang diperlukan dan meneruskannya ke Tampilan .

View akan membuat halaman dengan data yang tersedia dan menyebarkannya untuk Caching . Karena halaman yang diminta tidak di-cache sebelumnya jadi kali ini akan di-cache di Caching , untuk memproses halaman ini dengan cepat untuk permintaan di masa mendatang.

Struktur Direktori / Struktur Folder
Gambar yang diberikan di bawah ini menunjukkan struktur direktori CodeIgniter.
gambar stuktur folder .zip CodeIgniter

Struktur Direktori
Struktur direktori CodeIgniter dibagi menjadi 3 folder -

• Application (Aplikasi)
• System (Sistem)
• User_Guide (Panduan Pengguna)

• Application
Seperti namanya, folder Aplikasi berisi semua kode aplikasi Anda yang sedang Anda buat. Ini adalah folder tempat Anda akan mengembangkan proyek Anda. Folder Aplikasi berisi beberapa folder lain, yang dijelaskan di bawah -

° Cache - folder ini berisi semua halaman cache dari aplikasi Anda. Halaman cache ini akan meningkatkan kecepatan keseluruhan mengakses halaman.

° Config - Folder ini berisi berbagai file untuk mengkonfigurasi aplikasi. Dengan bantuan file config.php , pengguna dapat mengkonfigurasi aplikasi tersebut. Dengan menggunakan file database.php , pengguna dapat mengkonfigurasi database aplikasi.

° Controller - Folder ini menampung pengontrol aplikasi Anda. Ini adalah bagian dasar dari aplikasi Anda.

° Core - Folder ini akan berisi kelas dasar aplikasi Anda.

° Helpers - Dalam folder ini, Anda dapat meletakkan class helper aplikasi Anda.

° Hooks - File-file dalam folder ini menyediakan sarana untuk memanfaatkan dan memodifikasi cara kerja kerangka kerja tanpa meretas file inti.

° Language - folder ini berisi file terkait bahasa.

° Perpustakaan - Folder ini berisi file perpustakaan yang dikembangkan untuk aplikasi Anda.

° Log - Folder ini berisi file yang terkait dengan log sistem.

° Model - Login database akan ditempatkan di folder ini.

° Third_party - Di folder ini, Anda dapat menempatkan plugin apa saja, yang akan digunakan untuk aplikasi Anda.

° View - File HTML aplikasi akan ditempatkan di folder ini.


• System
Folder ini berisi kode inti CodeIgniter, pustaka, pembantu, dan file lain, yang membantu mempermudah pengkodean. Perpustakaan dan pembantu ini dimuat dan digunakan dalam pengembangan aplikasi web.

Folder ini berisi semua kode CodeIgniter konsekuensi, diatur ke dalam berbagai folder -

° Core - Folder ini berisi kelas inti CodeIgniter. Jangan memodifikasi apapun di sini. Semua pekerjaan Anda akan dilakukan di folder aplikasi. Bahkan jika Anda bermaksud untuk memperluas inti CodeIgniter, Anda harus melakukannya dengan hook, dan hook tinggal di folder aplikasi.

° Database - Folder database berisi driver database inti dan utilitas database lainnya.

° Font - Folder font berisi informasi dan utilitas terkait font.

° Helpers - Folder helpers berisi pembantu CodeIgniter standar (seperti tanggal, cookie, dan URL helpers).

° Bahasa - Folder bahasa berisi file bahasa. Anda bisa mengabaikannya untuk saat ini.

° Perpustakaan - Folder perpustakaan berisi perpustakaan CodeIgniter standar (untuk membantu Anda dengan email, kalender, unggahan file, dan lainnya). Anda dapat membuat pustaka Anda sendiri atau memperluas (dan bahkan mengganti) yang standar, tetapi itu akan disimpan di direktori application / libraries agar tetap terpisah dari pustaka CodeIgniter standar yang disimpan dalam folder khusus ini.

• User Guide / Panduan pengguna
Ini adalah panduan pengguna Anda untuk CodeIgniter. Ini pada dasarnya adalah versi offline dari panduan pengguna di situs CodeIgniter. Menggunakan ini, seseorang dapat mempelajari fungsi berbagai perpustakaan, pembantu, dan kelas. Disarankan untuk membaca panduan pengguna ini sebelum membangun aplikasi web pertama Anda di CodeIgniter.

Di samping ketiga folder ini, ada satu file penting bernama " index.php ". Dalam file ini, kita dapat mengatur lingkungan aplikasi dan tingkat kesalahan dan kita dapat menentukan nama folder sistem dan aplikasi. Dianjurkan, untuk tidak mengedit pengaturan ini jika Anda tidak memiliki cukup pengetahuan tentang apa yang akan Anda lakukan.

Keterangan Penting
pada penulisan • artinya folder
pada penulisan ° artinya sub-folder

Mari Kita lihat ulang struktur foldernya setelah di extrak dari folder zip


Kerangka MVC - CodeIgniter
CodeIgniter didasarkan pada pola pengembangan Model-View-Controller (MVC) . MVC adalah pendekatan perangkat lunak yang memisahkan logika aplikasi dari presentasi. Dalam praktiknya, ini memungkinkan halaman web Anda berisi skrip minimal karena presentasi terpisah dari skrip PHP.
perhatikan gambar berikut.

- Model mewakili struktur data Anda. Biasanya, kelas model Anda akan berisi fungsi yang membantu Anda mengambil, menyisipkan, dan memperbarui informasi dalam database Anda.

- View adalah informasi yang sedang disajikan kepada pengguna. Tampilan biasanya berupa halaman web, tetapi di CodeIgniter, tampilan juga dapat berupa fragmen halaman seperti header atau footer. Ini juga bisa berupa halaman RSS, atau jenis "halaman" lainnya.

- Controller berfungsi sebagai perantara antara Model, View, dan sumber daya lain yang diperlukan untuk memproses permintaan HTTP dan menghasilkan halaman web.


Konsep Dasar - CodeIgniter

- Controller
Kontroler adalah file kelas sederhana. Seperti namanya, ia mengontrol seluruh aplikasi dengan URI.

Membuat Control Pertama
- pertama buka folder CodeIgniter yang tadi kita buat (yang sudah dire-name) bisa menggunakan Aplikasi Code Editor Kesayangan Kalian
Komputer/Leptop Menggunakan Sublime Text atau VSCode
Smartphone Android Menggunakan ACode
buka folder CodeIgniter di htdocs local server ataupun web server anda
- Kedua, masuk ke folder application / controllers . Anda akan menemukan dua file di sana, index.html dan Welcome.php . File-file ini disertakan otomatis oleh CodeIgniter.

Simpan file ini sebagaimana adanya.(biarkan saja). Lalu Buat file baru di bawah jalur yang sama bernama " Test.php ". 
Tulis kode berikut di file itu -

<?php 
   class Test extends CI_Controller {
  
      public function index() { 
         echo "Hello World!"; 
      } 
   } 
?>

Kelas Test atau "class Test" memperluas kelas built-in yang disebut CI_Controller . Kelas ini harus dan akan diperpanjang setiap kali Anda ingin membuat kelas Controller Anda sendiri.

Memanggil controller
Kontroler di atas dapat dipanggil oleh URI sebagai berikut -

Perhatikan kata " test " di URI diatas setelah index.php. Ini menunjukkan nama kelas pengontrol. Karena kita telah memberi nama controller " Test ", kita menulis " test " setelah index.php. Nama kelas harus dimulai dengan huruf besar tetapi kita perlu menulis huruf kecil ketika kita memanggil pengontrol itu dengan URI. Sintaks umum untuk memanggil pengontrol adalah sebagai berikut -

Creating & Calling Constructor Method /
Membuat & Memanggil method konstruktor

Mari kita memodifikasi kelas di atas dan membuat metode lain bernama "hello".
<?php 
   class Test extends CI_Controller {  
      public function index() { 
         echo "This is default function."; 
      } 
  
      public function hello() { 
         echo "This is hello function."; 
      } 
   } 
?>
Kita dapat menjalankan pengontrol di atas dengan tiga cara berikut -


jika mengikuti tutorial ini maka silahkan kunjungi

1. Setelah mengunjungi URI pertama di browser, kami mendapatkan output seperti yang ditunjukkan pada gambar di bawah ini. Seperti yang Anda lihat, kita mendapatkan keluaran/output dari metode " index ", meskipun kita tidak meneruskan nama metode tersebut URI. Kita hanya menggunakan nama pengontrol di URI. Dalam situasi seperti itu, CodeIgniter memanggil metode default " index ".
Penting :
Jika Pengguna Smartphone Android Dan menggunakan KSWEB namun saat mengunjungi URI atau url tidak bisa, silahkan coba edit config.php difolder aplication/config/config.php lalu ubah $config base url nya menjadi 'localhost:8080/devandroid/';
jika yang digunakan adalah server lighttpd maka port nya 8080
jika server apache maka port nya 8000
jangan lupa save, kemudian kunjungi
localhost:8080/devandroid/index.php/test , dibrowser maka tampilan akan seperti gambar diatas.

2. Mengunjungi URI kedua di browser, kami mendapatkan output yang sama seperti yang ditunjukkan pada gambar di atas. Di sini, kami telah mengirimkan nama metode setelah nama pengontrol di URI. Karena nama metodenya adalah " indeks ", kita mendapatkan keluaran yang sama.

3. Mengunjungi URI ketiga di browser, kami mendapatkan output seperti yang ditunjukkan pada gambar di bawah ini. Seperti yang Anda lihat, kita mendapatkan output dari metode " hello " karena kita telah meneruskan " hello " sebagai nama metode, setelah nama controller " test " di URI.

Poin Penting Untuk Diingat
• Nama kelas pengontrol harus dimulai dengan huruf besar.

• Pengontrol harus dipanggil dengan huruf kecil.

• Jangan menggunakan nama metode yang sama dengan kelas induk Anda, karena akan menimpa fungsionalitas kelas induk.