HtmlBuilder
last analyzed

Size/Duplication

Total Lines 255
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
dl 0
loc 255
ccs 0
cts 0
cp 0
c 0
b 0
f 0

23 Methods

Rating   Name   Duplication   Size   Complexity  
entities() 0 1 ?
escape() 0 1 ?
decode() 0 1 ?
script() 0 1 ?
style() 0 1 ?
image() 0 1 ?
favicon() 0 1 ?
link() 0 1 ?
secureLink() 0 1 ?
linkAsset() 0 1 ?
linkSecureAsset() 0 1 ?
linkRoute() 0 1 ?
linkAction() 0 1 ?
mailto() 0 1 ?
email() 0 1 ?
ol() 0 1 ?
ul() 0 1 ?
dl() 0 1 ?
nbsp() 0 1 ?
attributes() 0 1 ?
obfuscate() 0 1 ?
meta() 0 1 ?
tel() 0 1 ?
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Arcanedev\LaravelHtml\Contracts;
6
7
use Illuminate\Support\HtmlString;
8
9
/**
10
 * Interface  HtmlBuilder
11
 *
12
 * @author    ARCANEDEV <[email protected]>
13
 */
14
interface HtmlBuilder
15
{
16
    /* -----------------------------------------------------------------
17
     |  Main Methods
18
     | -----------------------------------------------------------------
19
     */
20
21
    /**
22
     * Convert an HTML string to entities.
23
     *
24
     * @param  string  $value
25
     * @param  bool    $doubleEncode
26
     *
27
     * @return string
28
     */
29
    public function entities(string $value, bool $doubleEncode = false): string;
30
31
    /**
32
     * Convert all applicable characters to HTML entities.
33
     *
34
     * @param  string  $value
35
     *
36
     * @return string
37
     */
38
    public function escape(string $value): string;
39
40
    /**
41
     * Convert entities to HTML characters.
42
     *
43
     * @param  string  $value
44
     *
45
     * @return string
46
     */
47
    public function decode(string $value): string;
48
49
    /**
50
     * Generate a link to a JavaScript file.
51
     *
52
     * @param  string     $url
53
     * @param  array      $attributes
54
     * @param  bool|null  $secure
55
     *
56
     * @return \Illuminate\Support\HtmlString
57
     */
58
    public function script(string $url, array $attributes = [], ?bool $secure = null): HtmlString;
59
60
    /**
61
     * Generate a link to a CSS file.
62
     *
63
     * @param  string     $url
64
     * @param  array      $attributes
65
     * @param  bool|null  $secure
66
     *
67
     * @return \Illuminate\Support\HtmlString
68
     */
69
    public function style(string $url, array $attributes = [], ?bool $secure = null): HtmlString;
70
71
    /**
72
     * Generate an HTML image element.
73
     *
74
     * @param  string     $url
75
     * @param  string     $alt
76
     * @param  array      $attributes
77
     * @param  bool|null  $secure
78
     *
79
     * @return \Illuminate\Support\HtmlString
80
     */
81
    public function image(string $url, ?string $alt = null, array $attributes = [], ?bool $secure = null): HtmlString;
82
83
    /**
84
     * Generate a link to a Favicon file.
85
     *
86
     * @param  string     $url
87
     * @param  array      $attributes
88
     * @param  bool|null  $secure
89
     *
90
     * @return \Illuminate\Support\HtmlString
91
     */
92
    public function favicon(string $url, array $attributes = [], ?bool $secure = null): HtmlString;
93
94
    /**
95
     * Generate a HTML link.
96
     *
97
     * @param  string     $url
98
     * @param  string     $title
99
     * @param  array      $attributes
100
     * @param  bool|null  $secure
101
     * @param  bool       $escaped
102
     *
103
     * @return \Illuminate\Support\HtmlString
104
     */
105
    public function link(string $url, ?string $title = null, array $attributes = [], ?bool $secure = null, bool $escaped = true): HtmlString;
106
107
    /**
108
     * Generate a HTTPS HTML link.
109
     *
110
     * @param  string  $url
111
     * @param  string  $title
112
     * @param  array   $attributes
113
     * @param  bool    $escaped
114
     *
115
     * @return \Illuminate\Support\HtmlString
116
     */
117
    public function secureLink(string $url, ?string $title = null, array $attributes = [], bool $escaped = true): HtmlString;
118
119
    /**
120
     * Generate a HTML link to an asset.
121
     *
122
     * @param  string       $url
123
     * @param  string|null  $title
124
     * @param  array        $attributes
125
     * @param  bool         $secure
126
     *
127
     * @return \Illuminate\Support\HtmlString
128
     */
129
    public function linkAsset(string $url, ?string $title = null, array $attributes = [], ?bool $secure = null): HtmlString;
130
131
    /**
132
     * Generate a HTTPS HTML link to an asset.
133
     *
134
     * @param  string       $url
135
     * @param  string|null  $title
136
     * @param  array        $attributes
137
     *
138
     * @return \Illuminate\Support\HtmlString
139
     */
140
    public function linkSecureAsset(string $url, ?string $title = null, array $attributes = []): HtmlString;
141
142
    /**
143
     * Generate a HTML link to a named route.
144
     *
145
     * @param  string       $name
146
     * @param  string|null  $title
147
     * @param  array        $parameters
148
     * @param  array        $attributes
149
     * @param  bool         $escaped
150
     *
151
     * @return \Illuminate\Support\HtmlString
152
     */
153
    public function linkRoute(string $name, ?string $title = null, array $parameters = [], array $attributes = [], bool $escaped = true): HtmlString;
154
155
    /**
156
     * Generate a HTML link to a controller action.
157
     *
158
     * @param  string       $action
159
     * @param  string|null  $title
160
     * @param  array        $parameters
161
     * @param  array        $attributes
162
     * @param  bool         $escaped
163
     *
164
     * @return \Illuminate\Support\HtmlString
165
     */
166
    public function linkAction(string $action, ?string $title = null, array $parameters = [], array $attributes = [], bool $escaped = true): HtmlString;
167
168
    /**
169
     * Generate a HTML link to an email address.
170
     *
171
     * @param  string       $email
172
     * @param  string|null  $title
173
     * @param  array        $attributes
174
     * @param  bool         $escaped
175
     *
176
     * @return \Illuminate\Support\HtmlString
177
     */
178
    public function mailto(string $email, ?string $title = null, array $attributes = [], bool $escaped = true): HtmlString;
179
180
    /**
181
     * Obfuscate an e-mail address to prevent spam-bots from sniffing it.
182
     *
183
     * @param  string  $email
184
     *
185
     * @return string
186
     */
187
    public function email(string $email): string;
188
189
    /**
190
     * Generate an ordered list of items.
191
     *
192
     * @param  iterable|array  $items
193
     * @param  iterable|array  $attributes
194
     *
195
     * @return \Illuminate\Support\HtmlString
196
     */
197
    public function ol($items, $attributes = []): HtmlString;
198
199
    /**
200
     * Generate an un-ordered list of items.
201
     *
202
     * @param  iterable|array  $items
203
     * @param  iterable|array  $attributes
204
     *
205
     * @return \Illuminate\Support\HtmlString
206
     */
207
    public function ul($items, $attributes = []): HtmlString;
208
209
    /**
210
     * Generate a description list of items.
211
     *
212
     * @param  iterable|array  $items
213
     * @param  iterable|array  $attributes
214
     *
215
     * @return \Illuminate\Support\HtmlString
216
     */
217
    public function dl($items, $attributes = []): HtmlString;
218
219
    /**
220
     * Generates non-breaking space entities based on a supplied multiplier.
221
     *
222
     * @param  int  $multiplier
223
     *
224
     * @return string
225
     */
226
    public function nbsp(int $multiplier = 1): string;
227
228
    /**
229
     * Build an HTML attribute string from an array.
230
     *
231
     * @param  array  $attributes
232
     *
233
     * @return string
234
     */
235
    public function attributes(array $attributes): string;
236
237
    /**
238
     * Obfuscate a string to prevent spam-bots from sniffing it.
239
     *
240
     * @param  string  $value
241
     *
242
     * @return string
243
     */
244
    public function obfuscate(string $value): string;
245
246
    /**
247
     * Generate a meta tag.
248
     *
249
     * @param  string  $name
250
     * @param  string  $content
251
     * @param  array   $attributes
252
     *
253
     * @return \Illuminate\Support\HtmlString
254
     */
255
    public function meta(string $name, string $content, array $attributes = []): HtmlString;
256
257
    /**
258
     * Generate a HTML link to an phone number (call).
259
     *
260
     * @param  string  $phone
261
     * @param  string  $title
262
     * @param  array   $attributes
263
     * @param  bool    $escaped
264
     *
265
     * @return \Illuminate\Support\HtmlString
266
     */
267
    public function tel(string $phone, ?string $title = null, array $attributes = [], bool $escaped = true): HtmlString;
268
}
269