having fun with code igniter
TRANSCRIPT
![Page 1: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/1.jpg)
Have fun with CodeIgniter Framework
23 April 2016
& Ahmad Arif
![Page 2: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/2.jpg)
About Me Pendidikan
1998-2004 SDN 1 Kertamulya, Karawang 2004-2007 SMPN 2 Rengasdengklok, Karawang 2007-2010 SMAN 1 Rengasdengklok, Karawang 2010-2014 Informatika Universitas Jenderal Achman Yani 2015-???? Informatika Institut Teknologi Bandung
Minat Programming Machine Learning Artificial Intelligent
Game Technology
Entertainment Etc
![Page 3: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/3.jpg)
What is framework? Framework = Kerangka kerja Menyediakan struktur umum aplikasi sehingga
memudahkan pengembang dalam menyimpan kode dalam aplikasi
Menangani tugas umum– Database– Business logic– Form handling
![Page 4: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/4.jpg)
What is CodeIgniter? CodeIgniter framework aplikasi web ringan yang
ditulis dalam bahasa pemrograman PHP, dan mengadopsi pendekatan Model-View-Controller.
![Page 5: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/5.jpg)
Kenapa menggunakan CodeIgniter?
Feature rich Lightweight/small Open source Well-supported by an active community Excellent “by example” documentation Easy to configure (nearly zero configuration) Supports multiple databases Cleaner code High Performance
https://github.com/kenjis/php-framework-benchmark
![Page 6: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/6.jpg)
Model-View-Controller Model – merepresentasikan data View – menyajikan data untuk interaksi dengan
user Controller – mengontrol model dan data supaya
bisa saling berinteraksi
![Page 7: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/7.jpg)
CodeIgniter Classes CI’s built-in classes berisi fungsi dasar yang
sering digunakan oleh aplikasi web Beberapa kelas yang sering digunakan:
– Database– Input– Loader– URI– Validation
![Page 8: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/8.jpg)
Database Class Mengolah queri menggunakan the Active Record /
ORM Pattern Menyediakan metode “chaining” untuk
kemudahan query $this->db->where(‘name’,$name);
![Page 9: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/9.jpg)
Input Class Menyediakan akses ke input pengguna dan data
lainnya:– Form fields (POST)– Cookies– Server variables
$this->input->post(‘fieldname’);
![Page 10: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/10.jpg)
Loader Class Membuat berbagai resource:
– Databases– Views– Helpers– Plugins
$this->load->view(‘viewname’);
![Page 11: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/11.jpg)
URI Class Menyediakan akses ke bagian-bagian tertentu
dari String URI Berguna untuk membangung RESTful API $this->uri->segment(n);
![Page 12: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/12.jpg)
Other Classes Benchmarking Calendaring Email Encryption File uploading FTP HTML Table Image Manipulation
Language (internationalization) Output Pagination Session Trackback Unit testing XML-RPC Zip encoding
![Page 13: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/13.jpg)
Helpers and Plugins CodeIgniter dilengkapi dengan berbagai “helper”
yaitu fungsi yang menambahkan kenyamanan terhadap aplikasi dan memberikan kemudahan reuse code.
$this->load->helper(‘helper_name’); CodeIgniter juga memungkinkan untuk
penggunaan kustom add-on yang disebut “plugins”.
$this->load->plugin(‘plugin_name’);
![Page 14: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/14.jpg)
Getting Started Tools
– Apache HTTP Server– MySQL Database– PHP– Browser– Code Editor
XAMP, WAMP, MAMP, LAMPP
Notepad Notepad++ Sublime
Atom PHP Storm Etc
![Page 15: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/15.jpg)
Getting Started To Do List
– Installation– Controller– View– Model– RESTful API
![Page 16: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/16.jpg)
Controller<?php class BlogController extends CI_Controller {
public function index() { echo 'Hello World!';
}
public function comments() { echo 'Look at this!';
} }
<?php class BlogController extends CI_Controller {
…
public function page($index) { echo 'Page: !' . $index;
}}
![Page 17: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/17.jpg)
View
<html><head>
<title>My Blog</title></head><body>
<h1>Welcome to my Blog!<h1></body></html>
index.php
$this->load->view(“index”);Add this code in controller
![Page 18: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/18.jpg)
View<html><head>
<title>My Blog</title></head><body>
Welcome <strong><?php echo $name ?><strong></body></html>
index.php
$data = array(“name” => “Ahmad Arif”
);$this->load->view(“index”, $data);
Add this code in controller
![Page 19: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/19.jpg)
Model Create database and table Setting database (config/database.php)
![Page 20: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/20.jpg)
Modelclass Blog extends CI_Model {
$tableName = “blog”;
public function insert($title, $content){ $data = array(
“title” => $title,“content” => $content
);
$this->db->insert($this->tableName, $data);
}
}
![Page 21: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/21.jpg)
Modelclass Blog extends CI_Model {
...
public function update($id, $title, $content){ $data = array(
“title” => $title,“content” => $content
);
$this->db->where(“id”, $id);$this->db->update($this->tableName,
$data);}
}
![Page 22: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/22.jpg)
Model
class Blog extends CI_Model {
...
public function delete($id){ $this->db->where(“id”, $id);$this->db->delete($this->tableName);
}
}
![Page 23: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/23.jpg)
Modelclass Blog extends CI_Model {
...
public function getAll(){ return $this->db->get($this->tableName)-
>result();}
public function getById($id){ $this->db->where(“id”, $id);return $this->db->get($this->tableName)-
>row();}
}
![Page 24: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/24.jpg)
Using Model
class BlogController extends CI_Controller {
...
public function insert(){ $this->load->model(“Blog”);
$title = $this->input->post(“title”);$content = $this->input->post(“content”);
$this->Blog->insert($title, $content);}
}
![Page 25: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/25.jpg)
RESTful API Tools
– Postman– Code Editor
To Do List– Format JSON/XML– Routing– Cache setting
![Page 26: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/26.jpg)
References https://codeigniter.com https://google.com https://github.com/ahmadarif
![Page 27: Having fun with code igniter](https://reader036.vdocuments.site/reader036/viewer/2022062822/587f560a1a28ab0d378b6353/html5/thumbnails/27.jpg)
Tank You