public function __construct($mask, $metadata = array(), $flags = IResourceRouter::GET)
{
$this->actionDictionary = array();
if (isset($metadata['action']) && is_array($metadata['action'])) {
$this->actionDictionary = $metadata['action'];
$metadata['action'] = 'default';
} else {
$action = isset($metadata['action']) ? $metadata['action'] : 'default';
if (is_string($metadata)) {
$metadataParts = explode(':', $metadata);
$action = end($metadataParts);
}
foreach ($this->methodDictionary as $methodName => $methodFlag) {
if (($flags & $methodFlag) == $methodFlag) {
$this->actionDictionary[$methodFlag] = $action;
}
}
}
parent::__construct($mask, $metadata, $flags);
}
/** * @param string $mask * @param array|string $metadata * @param int $flags */ public function __construct($mask, $metadata = array(), $flags = IResourceRouter::CRUD) { if (is_string($metadata) && count(explode(':', $metadata)) === 1) { $metadata .= ':default'; } parent::__construct($mask, $metadata, $flags); $this->actionDictionary = array(IResourceRouter::POST => self::ACTION_CREATE, IResourceRouter::GET => self::ACTION_READ, IResourceRouter::PUT => self::ACTION_UPDATE, IResourceRouter::PATCH => self::ACTION_PATCH, IResourceRouter::DELETE => self::ACTION_DELETE); }