%PDF- %PDF-
Direktori : /www/varak.net/losik.varak.net/vendor/nette/application/src/Application/Routers/ |
Current File : //www/varak.net/losik.varak.net/vendor/nette/application/src/Application/Routers/SimpleRouter.php |
<?php /** * This file is part of the Nette Framework (https://nette.org) * Copyright (c) 2004 David Grudl (https://davidgrudl.com) */ declare(strict_types=1); namespace Nette\Application\Routers; use Nette; use Nette\Application; /** * The bidirectional route for trivial routing via query parameters. */ final class SimpleRouter extends Nette\Routing\SimpleRouter implements Nette\Routing\Router { private const PresenterKey = 'presenter', ModuleKey = 'module'; /** @var int */ private $flags; public function __construct($defaults = [], int $flags = 0) { if (is_string($defaults)) { [$presenter, $action] = Nette\Application\Helpers::splitName($defaults); if (!$presenter) { throw new Nette\InvalidArgumentException("Argument must be array or string in format Presenter:action, '$defaults' given."); } $defaults = [ self::PresenterKey => $presenter, 'action' => $action === '' ? Application\UI\Presenter::DefaultAction : $action, ]; } if (isset($defaults[self::ModuleKey])) { throw new Nette\DeprecatedException(__METHOD__ . '() parameter module is deprecated, use RouteList::withModule() instead.'); } elseif ($flags) { trigger_error(__METHOD__ . '() parameter $flags is deprecated, use RouteList::add(..., $flags) instead.', E_USER_DEPRECATED); } $this->flags = $flags; parent::__construct($defaults); } /** * Constructs absolute URL from array. */ public function constructUrl(array $params, Nette\Http\UrlScript $refUrl): ?string { if ($this->flags & self::ONE_WAY) { return null; } return parent::constructUrl($params, $refUrl); } /** @deprecated */ public function getFlags(): int { trigger_error(__METHOD__ . '() is deprecated.', E_USER_DEPRECATED); return $this->flags; } } interface_exists(Nette\Application\IRouter::class);