public function getDefinition() { $meta = []; foreach ($this->getComponents(TRUE, 'Zax\\Application\\Routers\\NiceUrl\\NiceUrlPart') as $component) { $meta[$component->getFullName()] = $component->getDefinition(); } $meta[NULL] = Helpers::createAliases($this->aliases); return $meta; }
/** * Metadata factory. First two parameters can be replaced with one parameter - array of metadata. * * @param $presenter * @param null $action * @param array $aliases * @param array $persistentBoolParams * @return array */ public static function createMetadata($presenter, $action = NULL, $aliases = array(), $persistentBoolParams = array()) { if (is_array($presenter)) { $metadata = $presenter; list(, $aliases, $persistentBoolParams) = func_get_args(); } else { $metadata = ['presenter' => $presenter]; if (strlen($action) > 0) { $metadata['action'] = $action; } } if (count($aliases) > 0) { $metadata[NULL] = NiceUrl\Helpers::createAliases($aliases); } if (count($persistentBoolParams) > 0) { foreach ($persistentBoolParams as $param) { $metadata[$param] = [self::FILTER_IN => function () { return TRUE; }, self::FILTER_OUT => function () use($param) { return $param; }]; } } return $metadata; }