Drahak\Restful\Application\Routes\ResourceRoute::__construct PHP Method

__construct() public method

public __construct ( string $mask, array | string $metadata = [], integer $flags = IResourceRouter::GET )
$mask string
$metadata array | string
$flags integer
    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);
    }

Usage Example

示例#1
0
 /**
  * @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);
 }