ci4

Форк
0
/
Superglobals.php 
63 строки · 1.3 Кб
1
<?php
2

3
declare(strict_types=1);
4

5
/**
6
 * This file is part of CodeIgniter 4 framework.
7
 *
8
 * (c) CodeIgniter Foundation <admin@codeigniter.com>
9
 *
10
 * For the full copyright and license information, please view
11
 * the LICENSE file that was distributed with this source code.
12
 */
13

14
namespace CodeIgniter;
15

16
/**
17
 * Superglobals manipulation.
18
 *
19
 * @internal
20
 * @see \CodeIgniter\SuperglobalsTest
21
 */
22
final class Superglobals
23
{
24
    private array $server;
25
    private array $get;
26

27
    public function __construct(?array $server = null, ?array $get = null)
28
    {
29
        $this->server = $server ?? $_SERVER;
30
        $this->get    = $get ?? $_GET;
31
    }
32

33
    public function server(string $key): ?string
34
    {
35
        return $this->server[$key] ?? null;
36
    }
37

38
    public function setServer(string $key, string $value): void
39
    {
40
        $this->server[$key] = $value;
41
        $_SERVER[$key]      = $value;
42
    }
43

44
    /**
45
     * @return array|string|null
46
     */
47
    public function get(string $key)
48
    {
49
        return $this->get[$key] ?? null;
50
    }
51

52
    public function setGet(string $key, string $value): void
53
    {
54
        $this->get[$key] = $value;
55
        $_GET[$key]      = $value;
56
    }
57

58
    public function setGetArray(array $array): void
59
    {
60
        $this->get = $array;
61
        $_GET      = $array;
62
    }
63
}
64

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.