UriInterface.php
3.84 KB
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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
<?php
/**
* Part of the Joomla Framework Uri Package
*
* @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\Uri;
/**
* Uri Interface
*
* Interface for read-only access to Uris.
*
* @since 1.0
*/
interface UriInterface
{
/**
* Include the scheme (http, https, etc.)
*
* @var integer
* @since 1.2.0
*/
const SCHEME = 1;
/**
* Include the user
*
* @var integer
* @since 1.2.0
*/
const USER = 2;
/**
* Include the password
*
* @var integer
* @since 1.2.0
*/
const PASS = 4;
/**
* Include the host
*
* @var integer
* @since 1.2.0
*/
const HOST = 8;
/**
* Include the port
*
* @var integer
* @since 1.2.0
*/
const PORT = 16;
/**
* Include the path
*
* @var integer
* @since 1.2.0
*/
const PATH = 32;
/**
* Include the query string
*
* @var integer
* @since 1.2.0
*/
const QUERY = 64;
/**
* Include the fragment
*
* @var integer
* @since 1.2.0
*/
const FRAGMENT = 128;
/**
* Include all available url parts (scheme, user, pass, host, port, path, query, fragment)
*
* @var integer
* @since 1.2.0
*/
const ALL = 255;
/**
* Magic method to get the string representation of the URI object.
*
* @return string
*
* @since 1.0
*/
public function __toString();
/**
* Returns full uri string.
*
* @param array $parts An array of strings specifying the parts to render.
*
* @return string The rendered URI string.
*
* @since 1.0
*/
public function toString(array $parts = array('scheme', 'user', 'pass', 'host', 'port', 'path', 'query', 'fragment'));
/**
* Checks if variable exists.
*
* @param string $name Name of the query variable to check.
*
* @return boolean True if the variable exists.
*
* @since 1.0
*/
public function hasVar($name);
/**
* Returns a query variable by name.
*
* @param string $name Name of the query variable to get.
* @param string $default Default value to return if the variable is not set.
*
* @return array Query variables.
*
* @since 1.0
*/
public function getVar($name, $default = null);
/**
* Returns flat query string.
*
* @param boolean $toArray True to return the query as a key => value pair array.
*
* @return string Query string.
*
* @since 1.0
*/
public function getQuery($toArray = false);
/**
* Get URI scheme (protocol)
* ie. http, https, ftp, etc...
*
* @return string The URI scheme.
*
* @since 1.0
*/
public function getScheme();
/**
* Get URI username
* Returns the username, or null if no username was specified.
*
* @return string The URI username.
*
* @since 1.0
*/
public function getUser();
/**
* Get URI password
* Returns the password, or null if no password was specified.
*
* @return string The URI password.
*
* @since 1.0
*/
public function getPass();
/**
* Get URI host
* Returns the hostname/ip or null if no hostname/ip was specified.
*
* @return string The URI host.
*
* @since 1.0
*/
public function getHost();
/**
* Get URI port
* Returns the port number, or null if no port was specified.
*
* @return integer The URI port number.
*
* @since 1.0
*/
public function getPort();
/**
* Gets the URI path string.
*
* @return string The URI path string.
*
* @since 1.0
*/
public function getPath();
/**
* Get the URI archor string
* Everything after the "#".
*
* @return string The URI anchor string.
*
* @since 1.0
*/
public function getFragment();
/**
* Checks whether the current URI is using HTTPS.
*
* @return boolean True if using SSL via HTTPS.
*
* @since 1.0
*/
public function isSsl();
}