Inheritance: use trait Nette\StaticClass
Beispiel #1
0
 /**
  * @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);
     }
 }
Beispiel #2
0
 /**
  * @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';
     }
 }