/
githubmirror
/
framework
Обзор
Документация
Войти
/
githubmirror
/
framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
13.x
src/Illuminate/Routing/RouteUri.php
61 строка
1 KB
Andrew Brown
[12.x] remove `@return` docblocks on constructors (#55076)
19 мар 2025, 23:10
Не верифицирован
19 мар 2025, 23:10
8f0e00b
Код
Авторство
О чём код?
<?php namespace Illuminate\Routing; class RouteUri { /** * The route URI. * * @var string */ public $uri; /** * The fields that should be used when resolving bindings. * * @var array */ public $bindingFields = []; /** * Create a new route URI instance. * * @param string $uri * @param array $bindingFields */ public function __construct(string $uri, array $bindingFields = []) { $this->uri = $uri; $this->bindingFields = $bindingFields; } /** * Parse the given URI. * * @param string $uri * @return static */ public static function parse($uri) { preg_match_all('/\{([\w\:]+?)\??\}/', $uri, $matches); $bindingFields = []; foreach ($matches[0] as $match) { if (! str_contains($match, ':')) { continue; } $segments = explode(':', trim($match, '{}?')); $bindingFields[$segments[0]] = $segments[1]; $uri = str_contains($match, '?') ? str_replace($match, '{'.$segments[0].'?}', $uri) : str_replace($match, '{'.$segments[0].'}', $uri); } return new static($uri, $bindingFields); } }