Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi...
Transcript of Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi...
![Page 1: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/1.jpg)
PHP Frameworks
Pemrograman Web
![Page 2: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/2.jpg)
Materi
• What is Frameworks ?
• MVC Pattern
• Instalasi dan Konfigurasi CodeIgniter
• Creating Simple URL Shortener
![Page 3: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/3.jpg)
What is Frameworks ?
matakuliah.php login.php
<?php
$conn = mysql_connect(‘localhost’, ‘root’, ‘rootpassword’);
$db = mysql_select_db(‘perwalian’, $conn);
$sql = ‘select * from matakuliah order by kodematakuliah’;
$query = mysql_query($sql);
while ($row = mysql_fetch_assoc($query)) {
//display data in a table
}
?>
![Page 4: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/4.jpg)
What is Frameworks ?
matakuliah.php login.php
<?php
$username = $_POST[‘user’]; $password = $_POST[‘pass’];
$conn = mysql_connect(‘localhost’, ‘root’, ‘rootpassword’);
$db = mysql_select_db(‘perwalian’, $conn);
$sql = ‘select * from user where username = $user’ and password = $pass;
$query = mysql_query($sql);
if(mysql_num_rows($query) == 1)
echo ‘Login OK’;
?>
![Page 5: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/5.jpg)
What is Frameworks ?
matakuliah.php login.php dbconnect.php
<?php
$dbhostname = ‘localhost’;
$dbusername = ‘root’;
$dbpassword = ‘rootpassword’;
$dbname = ‘perwalian’;
$conn = mysql_connect($dbhostname, $dbusername, $dbpassword);
$db = mysql_select_db($dbname, $conn);
?>
![Page 6: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/6.jpg)
What is Frameworks ?
matakuliah.php login.php dbconnect.php
<?php
include(“dbconfig.php”);
$sql = ‘select * from matakuliah order by kodematakuliah’;
$query = mysql_query($sql);
while ($row = mysql_fetch_assoc($query)) {
echo $row[‘kodematakuliah’] . ‘ | ‘ . $row[‘namamatakuliah’];
}
?>
![Page 7: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/7.jpg)
What is Frameworks ?
matakuliah.php login.php dbconnect.php
<?php
include(“dbconfig.php”);
$username = $_POST[‘user’]; $password = $_POST[‘pass’];
$sql = ‘select * from user where username = $user and password = $pass’;
$query = mysql_query($sql);
if(mysql_num_rows($query) == 1)
echo ‘Login OK’;
?>
![Page 8: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/8.jpg)
Frameworks
• Lots of chunks of code, stored in separate files, which simplify the coding of repetitive operations
• Repetitive operations:
– Database (insert, retrieve, update, delete data)
– Input handling (input checking, reading input)
– Session Handling (create session, check session)
– Many more…
![Page 9: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/9.jpg)
PHP Frameworks
CodeIgniter
![Page 10: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/10.jpg)
Frameworks
• Save Time (less code)$connection = mysql_connect("localhost",“progweb","12345"); mysql_select_db(“progweb_a-1", $connection); $result = mysql_query ("SELECT * FROM mahasiswa", $connection); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { {
foreach ($row as $attribute) print "$attribute[‘nama’]";
}
$this->load->database(‘progweb_a-1');$query = $this->db->get(‘mahasiswa'); foreach ($query->result() as $row) {
print $row->nama}
![Page 11: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/11.jpg)
Frameworks
• Separation between logic, view and data
• Coding standard, consistent across files
• Attractive URL
• All simple (tedious and boring) things are • All simple (tedious and boring) things are
already handled
– Input validation
– Managing database
– more…
![Page 12: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/12.jpg)
CodeIgniter
http://www.codeigniter.com
![Page 13: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/13.jpg)
CodeIgniter
![Page 14: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/14.jpg)
MVC PATTERN
![Page 15: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/15.jpg)
M + V + C
• MVC = Model View Controller
• Aplikasi dibagi menjadi 3 bagian dengan fungsi
berbedaberbeda
– Model
– View
– Controller
![Page 16: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/16.jpg)
![Page 17: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/17.jpg)
Model
• Data structures
• Data
– Database– Database
– Internal Resources (eg: files, rules, logs)
– External Resources (eg: tweets, rss feeds, XML)
![Page 18: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/18.jpg)
View
• User Interface
• Displaying data (How data is displayed)
• Interacting with user
• Collect input
![Page 19: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/19.jpg)
Controller
• Bussines Logic / Application Logic
• Process input from View
• Model (Data) apa yang harus diambil dan
harus ditampilkan pada view yang mana
![Page 20: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/20.jpg)
MVC ?
• Proses Login
• Menampilkan daftar mata kuliah yang bisadiambildiambil
• Mengubah password
• Menghapus beberapa mata kuliah yang sudahdiambil sebelumnya
![Page 21: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/21.jpg)
INSTALASI DAN KONFIGURASI
CODEIGNITER
![Page 22: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/22.jpg)
Download
![Page 23: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/23.jpg)
Extract
![Page 24: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/24.jpg)
Test With Browser
![Page 25: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/25.jpg)
Structure
Controller, View dan
Model
Internal Library Internal Library
CodeIgniter
Documentation
![Page 26: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/26.jpg)
Configuration
![Page 27: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/27.jpg)
Configuration: config.php
• General Settings
– Base URL
– Index page
– URL suffix– URL suffix
– Language
– Character set
– Log
– Session
– etc…
Letak di folder: application/config/config.php
![Page 28: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/28.jpg)
Configuration: autoload.php
• Konfigurasi modul-modul yang akan diload
secara otomatis
– Packages
– Libraries– Libraries
– Helper files
– Custom config files
– Language files
– Models
![Page 29: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/29.jpg)
Configuration: database.php
• Database settingsLetak di folder: application/config/database.php
![Page 30: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/30.jpg)
CodeIgniter Frameworks : Helper
• Collection of functions
• Tidak berupa Class, hanya
kumpulan fungsikumpulan fungsi
• Helper diletakkan pada
/system/helpers
![Page 31: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/31.jpg)
CodeIgniter Frameworks: Libraries
• Class-class yang disediakan olehCodeIgniter
• Digunakan untuk melakukan• Digunakan untuk melakukanpekerjaan-pekerjaan yang seringdilakukan saat membuat aplikasiweb
• Diletakkan pada /system/libraries
![Page 32: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/32.jpg)
Controller
class Url extends CI_Controller {
…
/application/controllers/url.php
…
}
http://localhost/index.php/url
![Page 33: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/33.jpg)
Controller<?php
class Shorty extends CI_Controller {
public function index() {
…
}
http://localhost/index.php/url/index
}
public function browse($page) {
…
}
}
?> http://localhost/index.php/url/browse/3
![Page 34: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/34.jpg)
Controller: private function
<?php
class Url extends CI_Controller {
…
private function _generateurl() {
……
}
…
}
?>
http://localhost/index.php/url/_generateurl
![Page 35: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/35.jpg)
Model
class Url_model extends CI_Model {
…
} }
/application/models/url_model.php
![Page 36: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/36.jpg)
Model
<?phpclass Url_model extends CI_Model {
public function add_url($url1, $url2) {…
}}
public function geturl() {…
}}
?>
![Page 37: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/37.jpg)
Loading Model
• Menggunakan $this->load->model(tabel)
class Url extends CI_Controller {public function index() {
$this - >load - >model(‘ Urls’ );$list = $this->Url_model->geturl();…
}} $this->load->model(‘Urls’);
$list = $this->Url_model->geturl();
![Page 38: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/38.jpg)
Querying Database
$this->load->database();
$sql = ‘SELECT * FROM urls;
$query = $this->db->query($sql);
foreach($query->result as $row) {
$id= $row->id;
$url_origin = $row->url_origin;
…
$clicks= $row->clicks;
}
![Page 39: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/39.jpg)
Active Record dari Database
• Mengambil seluruh url yang ada di tabel urls
$query = $this->db->query(‘SELECT * FROM urls’);
• Dengan active record• Dengan active record
$query = $this->db->get(‘urls’);
Contoh limit query:
$query = $this->db->get(‘urls’, 10, 20);
![Page 40: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/40.jpg)
Active Record dari Database
• Mengambil id,url_origin dari urls
$this->db->select(‘id, url_origin’);
$this->db->get(‘urls’);
• Mengambil id url no 5• Mengambil id url no 5
$id= 5;
$this->db->select(‘id,url_origin,url_short’);
$this->db->where(‘id’, $id);
$query = $this->db->get(‘urls’);
![Page 41: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/41.jpg)
Active Record
• Dengan Query Bindings
$id = 100; $url_origin = ‘http://www.ukdw.ac.id’;
$url_short = ‘zxy’; $clicks = 2;
$sql = ‘insert into urls(id, url_origin,url_short,clicks)
values(?, ?, ?, ?)’;
$query = $this->db->query($sql, array($id,
$url_origin, $url_short, $clicks);
![Page 42: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/42.jpg)
Pemanggilan View
• Pada Controller, dengan fungsi
$this->load->view(namaview)
Contoh:
$this->load->view(‘url_view’);$this->load->view(‘url_view’);
• Pengiriman data ke View
$data= $this->Url_model->getURL();
$this->load->view(‘url_view’, $data);
![Page 43: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/43.jpg)
DEMO URL SHORTENER
![Page 44: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/44.jpg)
Database Configuration
![Page 45: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/45.jpg)
Table : urls
CREATE TABLE `urls` (
`id` INT(10) NOT NULL AUTO_INCREMENT, `url_origin` VARCHAR(500) NULL DEFAULT NULL, `url_short` VARCHAR(500) NULL DEFAULT NULL, `created` TIMESTAMP NULL DEFAULT`created` TIMESTAMP NULL DEFAULTCURRENT_TIMESTAMP,
`clicks` INT(10) NULL DEFAULT '1',
PRIMARY KEY (`id`) ) COLLATE='latin1_swedish_ci'
ENGINE=InnoDB;
![Page 46: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/46.jpg)
Step 1 : Creating Views
• Displaying data from Controller
• Collect user input
• Create wireframe for designing
![Page 47: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/47.jpg)
Wireframes (index_view)
![Page 48: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/48.jpg)
Wireframes (Result)
![Page 49: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/49.jpg)
Wireframes (List URL)
![Page 50: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/50.jpg)
Step 2 : Creating Models
• URLModel
– Kumpulan dari data-data URL yang sudah
dipendekkan
![Page 51: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/51.jpg)
Step 3 : Creating Controllers
• URLController
– Handling URL operation
![Page 52: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/52.jpg)
Creating View (ShortMe)
Tampilan awal
Tampilan setelah ada url yang dipendekkan
![Page 53: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/53.jpg)
View List URL
![Page 54: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/54.jpg)
Routes and Config
Jika url yang diinputkan oleh user tidak ada nama controllernya maka lempar ke url/decode dan kemudian redirect ke halaman aslinya dan update clicks +1
Misalnya: http://localhost/shortme/xyz
![Page 55: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/55.jpg)
Kode Controller
![Page 56: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/56.jpg)
Controller add url baru
![Page 57: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/57.jpg)
Model
![Page 58: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/58.jpg)
Model
![Page 59: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/59.jpg)
DEMO
![Page 60: Pertemuan 11 - PHP Frameworkslecturer.ukdw.ac.id/anton/download/web8.pdf · • Aplikasi dibagi menjadi 3 bagian dengan fungsi berbeda – Model ... Contoh limit query: ... aslinya](https://reader031.fdokumen.com/reader031/viewer/2022030509/5ab87b337f8b9ad3038cdd17/html5/thumbnails/60.jpg)
LAST LECTURE:
ARSITEKTUR INFORMASI