Introduced namespaces:
[core.git] / inc / main / interfaces / request / class_Requestable.php
1 <?php
2 // Own namespace
3 namespace CoreFramework\Request;
4
5 // Load framework stuff
6 use CoreFramework\Generic\FrameworkInterface;
7
8 /**
9  * An interface for requests
10  *
11  * @author              Roland Haeder <webmaster@shipsimu.org>
12  * @version             0.0.0
13  * @copyright   Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team
14  * @license             GNU GPL 3.0 or any newer version
15  * @link                http://www.shipsimu.org
16  *
17  * This program is free software: you can redistribute it and/or modify
18  * it under the terms of the GNU General Public License as published by
19  * the Free Software Foundation, either version 3 of the License, or
20  * (at your option) any later version.
21  *
22  * This program is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25  * GNU General Public License for more details.
26  *
27  * You should have received a copy of the GNU General Public License
28  * along with this program. If not, see <http://www.gnu.org/licenses/>.
29  */
30 interface Requestable extends FrameworkInterface {
31         /**
32          * Prepares the request data for usage
33          *
34          * @return      void
35          */
36         function prepareRequestData ();
37
38         /**
39          * Checks whether a request element is set
40          *
41          * @param       $element        Name of the request element we want to check
42          * @return      $isSet          Whether the request element is set
43          * @throws      MissingArrayElementsException   Thrown if a request element is not set
44          */
45         function isRequestElementSet ($element);
46
47         /**
48          * Getter for request element or 'null' if element was not found
49          *
50          * @param       $element        Name of the request element we want to check
51          * @return      $value          Value of the found request element or 'null' if the
52          *                                              element was not found
53          */
54         function getRequestElement ($element);
55
56         /**
57          * Wrapper method for array_key() function for the request data array
58          *
59          * @return      $array  An array containing all array keys to return
60          */
61         function getParameterNames ();
62
63         /**
64          * Getter for a header element or 'null' if header was not found
65          *
66          * @param       $headerName             Name of the header
67          * @return      $headerValue    Value of the header or 'null' if not found
68          */
69         function getHeaderElement ($headerName);
70
71         /**
72          * Sets whether the request was valid (default: TRUE)
73          *
74          * @param       $isValid        Whether the request is valid
75          * @return      void
76          */
77         function requestIsValid ($isValid = TRUE);
78
79         /**
80          * Reads a cookie and returns it's value or null if not found
81          *
82          * @param       $cookieName             Name of cookie we shall read
83          * @return      $cookieValue    Value of cookie or null if not found
84          */
85         function readCookie ($cookieName);
86
87         /**
88          * Checks if the request method is GET.
89          *
90          * @return      $isGet  Whether the request method is GET
91          */
92         function isGetRequestMethod ();
93
94         /**
95          * Checks if the request method is HEAD.
96          *
97          * @return      $isHead         Whether the request method is HEAD
98          */
99         function isHeadRequestMethod ();
100
101         /**
102          * Checks if the request method is POST.
103          *
104          * @return      $isPost         Whether the request method is POST
105          */
106         function isPostRequestMethod ();
107
108 }