summaryrefslogtreecommitdiff
path: root/src/Http/UrlGenerator.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Http/UrlGenerator.php')
-rw-r--r--src/Http/UrlGenerator.php30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/Http/UrlGenerator.php b/src/Http/UrlGenerator.php
new file mode 100644
index 00000000..7ced769e
--- /dev/null
+++ b/src/Http/UrlGenerator.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Engelsystem\Http;
+
+/**
+ * Provides urls when rewriting on the webserver is enabled. (default)
+ *
+ * The urls have the form <app url>/<path>?<parameters>
+ */
+class UrlGenerator implements UrlGeneratorInterface
+{
+ /**
+ * @param string $path
+ * @param array $parameters
+ * @return string url in the form [app url]/[path]?[parameters]
+ */
+ public function to($path, $parameters = [])
+ {
+ $path = '/' . ltrim($path, '/');
+ $request = app('request');
+ $uri = $request->getUriForPath($path);
+
+ if (!empty($parameters) && is_array($parameters)) {
+ $parameters = http_build_query($parameters);
+ $uri .= '?' . $parameters;
+ }
+
+ return $uri;
+ }
+}