/
liketest.php
85 lines (60 loc) · 1.44 KB
/
liketest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
require_once("HTMLView.php");
session_start();
class LikeModel {
private $sessionLocation = "LikeModel::NumLikes";
public function __construct() {
if(isset($_SESSION[$this->sessionLocation]) == false) {
$_SESSION[$this->sessionLocation] = 0;
$this->numLikes = 0;
}
}
public function getNumLikes() {
return $_SESSION[$this->sessionLocation];
}
public function addLike() {
$_SESSION[$this->sessionLocation]++;
}
}
class LikeView {
private $model;
public function __construct(LikeModel $model) {
$this->model = $model;
}
public function showLikes() {
$likes = $this->model->getNumLikes();
$ret = "Antalet likes är $likes";
$ret .= "
<form action='' method='post'>
<input type='submit' value'Gilla!' name='iLike'>
</form>";
if($this->didUserPressLike()) {
$ret .= " You like!";
}
return $ret;
}
public function didUserPressLike() {
if(isset($_POST["iLike"])) {
return true;
}
return false;
}
}
class LikeController {
private $view;
private $model;
public function __construct() {
$this->model = new LikeModel();
$this->view = new LikeView($this->model);
}
public function doControll() {
if($this->view->didUserPressLike()) {
$this->model->addLike();
}
return $this->view->showLikes();
}
}
$c = new LikeController();
$htmlBody = $c->doControll();
$view = new HTMLView();
$view->echoHTML($htmlBody);