router

Форк
0
/
Route.php 
34 строки · 850.0 Байт
1
<?php declare(strict_types=1);
2

3
namespace Upside\Router;
4

5
final readonly class Route
6
{
7
    public string $path;
8
    /**
9
     * @var class-string $controller
10
     */
11
    public string $controller;
12
    public string $action;
13
    public string $method;
14
    public string $name;
15
    public string $pattern;
16

17
    /**
18
     * @param class-string $controller
19
     */
20
    public function __construct(string $path, string $controller, string $action, string $method, string $name)
21
    {
22
        $this->path = $path;
23
        $this->controller = $controller;
24
        $this->action = $action;
25
        $this->method = $method;
26
        $this->name = $name;
27

28
        $this->pattern = \preg_replace_callback(
29
            '~{[^}]+}~',
30
            static fn($matches) => '(?<' . \trim($matches[0], '{}') . '>.*)',
31
            '~' . $this->path . '~'
32
        );
33
    }
34
}
35

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

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

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

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