Completed
Push — master ( e43f1a...57db71 )
by Arman
26s queued 12s
created

Query::setQueryParam()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 3
c 1
b 0
f 0
dl 0
loc 5
rs 10
cc 2
nc 2
nop 2
1
<?php
2
3
/**
4
 * Quantum PHP Framework
5
 *
6
 * An open source software development framework for PHP
7
 *
8
 * @package Quantum
9
 * @author Arman Ag. <[email protected]>
10
 * @copyright Copyright (c) 2018 Softberg LLC (https://softberg.org)
11
 * @link http://quantum.softberg.org/
12
 * @since 2.4.0
13
 */
14
15
namespace Quantum\Http\Request;
16
17
/**
18
 * Trait Query
19
 * @package Quantum\Http\Request
20
 */
21
trait Query
22
{
23
24
    /**
25
     * Query string
26
     * @var string
27
     */
28
    private static $__query = null;
29
30
    /**
31
     * Gets the query string
32
     * @return string|null
33
     */
34
    public static function getQuery(): ?string
35
    {
36
        return self::$__query;
37
    }
38
39
    /**
40
     * Sets the query string
41
     * @param string $query
42
     */
43
    public static function setQuery(string $query)
44
    {
45
        self::$__query = $query;
46
    }
47
48
    /**
49
     * Gets the query param
50
     * @param string $key
51
     * @return string|null
52
     */
53
    public static function getQueryParam(string $key): ?string
54
    {
55
        $query = explode('&', self::$__query);
56
57
        foreach ($query as $items) {
58
            $item = explode('=', $items);
59
            if ($item[0] == $key) {
60
                return $item[1];
61
            }
62
        }
63
64
        return null;
65
    }
66
67
    /**
68
     * Sets the query param
69
     * @param string $key
70
     * @param string $value
71
     */
72
    public static function setQueryParam(string $key, string $value)
73
    {
74
        $queryParams = self::$__query ? explode('&', self::$__query) : [];
75
        array_push($queryParams, $key . '=' . $value);
76
        self::$__query = implode('&', $queryParams);
77
    }
78
79
}