Exemple #1
0
 public static function factory(array $config, $skipBadRules = false)
 {
     $main = self::checkAndReturnParam($config, 'main');
     $error = self::checkAndReturnParam($config, 'error');
     $defaultPrefix = self::checkAndReturnParam($config, 'defaultPrefix', '');
     $rulesConfig = self::checkAndReturnParam($config, 'route', array());
     $rules = array();
     $skippedRules = array();
     foreach ($rulesConfig as $ruleConfig) {
         $ruleConfig = self::_convertConfig($ruleConfig);
         try {
             $rule = Miao_Router_Rule::factory($ruleConfig);
             $rules[] = $rule;
         } catch (Miao_Router_Rule_Exception $e) {
             if (!$skipBadRules) {
                 throw new Miao_Router_Exception($e->getMessage());
                 throw $e;
             }
             $skippedRules[] = $ruleConfig;
         }
     }
     $result = new static($main, $error, $rules, $defaultPrefix, $skippedRules);
     return $result;
 }
Exemple #2
0
 /**
  * @dataProvider dataProviderTestMakeRewrite
  */
 public function testMakeRewrite(array $config, $actual)
 {
     $route = Miao_Router_Rule::factory($config);
     $expected = $route->makeRewrite();
     $this->assertEquals($actual, $expected);
 }