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