summaryrefslogtreecommitdiff
path: root/src/Http
diff options
context:
space:
mode:
authorIgor Scheller <igor.scheller@igorshp.de>2017-07-18 21:38:53 +0200
committerIgor Scheller <igor.scheller@igorshp.de>2017-07-19 11:44:16 +0200
commit3a1e4602492cec1c8f3d2aabab2c866022f43bf1 (patch)
treec367c1ce15f957a1e9a0879b875e8d635883280e /src/Http
parent04217834fa4e6f94fec0836a80ea5526b8ebc9bc (diff)
Changed $_GET, $_POST and $_REQUEST to use the Request object
Diffstat (limited to 'src/Http')
-rw-r--r--src/Http/Request.php110
1 files changed, 110 insertions, 0 deletions
diff --git a/src/Http/Request.php b/src/Http/Request.php
new file mode 100644
index 00000000..2efd1e1d
--- /dev/null
+++ b/src/Http/Request.php
@@ -0,0 +1,110 @@
+<?php
+
+namespace Engelsystem\Http;
+
+use ErrorException;
+
+class Request
+{
+ /** @var self */
+ protected static $instance;
+
+ /** @var array of POST data */
+ protected $request;
+
+ /** @var array of GET data */
+ protected $query;
+
+ /**
+ * Initialize request
+ */
+ public function create()
+ {
+ $this->request = $_POST;
+ $this->query = $_GET;
+ }
+
+ /**
+ * Get GET input
+ *
+ * @param string $key
+ * @param mixed $default
+ * @return mixed
+ */
+ public function get($key, $default = null)
+ {
+ if (!empty($this->query[$key])) {
+ return $this->query[$key];
+ }
+
+ return $default;
+ }
+
+ /**
+ * Get POST input
+ *
+ * @param string $key
+ * @param mixed $default
+ * @return mixed
+ */
+ public function post($key, $default = null)
+ {
+ if (!empty($this->request[$key])) {
+ return $this->request[$key];
+ }
+
+ return $default;
+ }
+
+ /**
+ * Get input data
+ *
+ * @param string $key
+ * @param mixed $default
+ * @return mixed
+ */
+ public function input($key, $default = null)
+ {
+ $data = $this->request + $this->query;
+
+ if (!empty($data[$key])) {
+ return $data[$key];
+ }
+
+ return $default;
+ }
+
+ /**
+ * Checks if the input exists
+ *
+ * @param string $key
+ * @return bool
+ */
+ public function has($key)
+ {
+ $value = $this->input($key);
+
+ return !empty($value);
+ }
+
+ /**
+ * @return self
+ * @throws ErrorException
+ */
+ public static function getInstance()
+ {
+ if (!self::$instance instanceof self) {
+ throw new ErrorException('Request not initialized');
+ }
+
+ return self::$instance;
+ }
+
+ /**
+ * @param self $instance
+ */
+ public static function setInstance($instance)
+ {
+ self::$instance = $instance;
+ }
+}