Example #1
0
 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] = Route::createAliases($aliases);
     }
     if (count($persistentBoolParams) > 0) {
         foreach ($persistentBoolParams as $param) {
             $metadata[$param] = [Route::FILTER_IN => function () {
                 return TRUE;
             }, Route::FILTER_OUT => function () use($param) {
                 return $param;
             }];
         }
     }
     return $metadata;
 }