/** * @param array default values * @param int flags */ public function __construct($defaults = [], $flags = 0) { if (is_string($defaults)) { list($presenter, $action) = Helpers::splitName($defaults); if (!$presenter) { throw new Nette\InvalidArgumentException("Argument must be array or string in format Presenter:action, '{$defaults}' given."); } $defaults = ['presenter' => $presenter, 'action' => $action === '' ? 'default' : $action]; } $this->defaults = $defaults; $this->flags = $flags; if ($flags & self::SECURED) { trigger_error('IRouter::SECURED is deprecated, router by default keeps the used protocol.', E_USER_DEPRECATED); } }
/** * @param string URL mask, e.g. '<presenter>/<action>/<id \d{1,3}>' * @param array|string|\Closure default values or metadata or callback for NetteModule\MicroPresenter * @param int flags */ public function __construct($mask, $metadata = [], $flags = 0) { if (is_string($metadata)) { list($presenter, $action) = Helpers::splitName($metadata); if (!$presenter) { throw new Nette\InvalidArgumentException("Second argument must be array or string in format Presenter:action, '{$metadata}' given."); } $metadata = ['presenter' => $presenter]; if ($action !== '') { $metadata['action'] = $action; } } elseif ($metadata instanceof \Closure) { $metadata = ['presenter' => 'Nette:Micro', 'callback' => $metadata]; } $this->flags = $flags | static::$defaultFlags; $this->setMask($mask, $metadata); if (static::$defaultFlags) { trigger_error('Route::$defaultFlags is deprecated, router by default keeps the used protocol.', E_USER_DEPRECATED); } elseif ($flags & self::SECURED) { trigger_error('Router::SECURED is deprecated, specify scheme in mask.', E_USER_DEPRECATED); $this->scheme = 'https'; } }