/
Abbreviation.php
160 lines (140 loc) · 2.64 KB
/
Abbreviation.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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<?php
namespace ProcessWire;
/**
* Abbreviation
*
* Entity for ProcessWire Plugin 'Abbreviate'
*
* Sven Schüring <ssch@zenmotion.de>
* http://www.zenmotion.de
*/
class Abbreviation implements \JsonSerializable
{
/**
* id
* @var integer
*/
protected $id;
/**
* text
* @var string
*/
protected $text;
/**
* title
* @var string
*/
protected $title;
/**
* language
* @var string
*/
protected $language;
/**
* return the id of abbreviation
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* return the abbreviation
*
* @return string
*/
public function getText()
{
return $this->text;
}
/**
* returns the title of abbreviation
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* return the language of abbreviation
*
* @return string language code based on IETF language tag
*/
public function getLanguage()
{
return $this->language;
}
/**
* set the id of abbreviation
*
* @param integer $id
*
* @return Abbreviation
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* set the abbreviation
*
* @param string $text
*
* @return Abbreviation
*/
public function setText($text)
{
$this->text = $text;
return $this;
}
/**
* set the title of abbreviation
*
* @param string $title
*
* @return Abbreviation
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* set the language of abbreviation
*
* @param string $language language code based on IETF language tag
*
* @return Abbreviation
*/
public function setLanguage($language)
{
$this->language = $language;
return $this;
}
/**
* string representation of the abbreviation as HTML
*
* @return string
*/
public function __toString()
{
$lang = $this->language ? ' lang="'. $this->language .'"' : '';
return '<abbr'. $lang .' title="'. $this->title .'">'. $this->text .'</abbr>';
}
/**
* JSON representation of this class
*
* @return array
*/
public function jsonSerialize()
{
return [
'text' => $this->getText(),
'title' => $this->getTitle(),
'lang' => $this->getLanguage(),
];
}
}