Beispiel #1
0
 /**
  * @dataProvider exportCases
  */
 public function testConvertsValueToValidPhp($value, $code)
 {
     $exported = VarExporter::export($value);
     $evaluated = eval('return ' . $exported . ';');
     $this->assertSame($code, $exported, '');
     $this->assertEquals($value, $evaluated);
 }
Beispiel #2
0
 /**
  * {@inheritdoc}
  */
 public function getConditionExpression(string $segmentVariable, int $uniqueKey = null) : string
 {
     return 'preg_match(' . VarExporter::export($this->regex) . ', ' . $segmentVariable . ', ' . '$matches' . $uniqueKey . ')';
 }
 /**
  * {@inheritdoc}
  */
 public function getConditionExpression(string $segmentVariable, int $uniqueKey = null) : string
 {
     return $segmentVariable . ' === ' . VarExporter::export($this->segment);
 }
 /**
  * Compile the found route data.
  *
  * @param object $code
  * @param array  $foundRoute
  * @param array  $parameterExpressions
  */
 protected function compileFoundRoute($code, array $foundRoute, array $parameterExpressions)
 {
     $parameters = '[';
     foreach ($foundRoute[0] as $index => $parameterName) {
         $parameters .= VarExporter::export($parameterName) . ' => ' . $parameterExpressions[$index] . ', ';
     }
     if (strlen($parameters) > 2) {
         $parameters = substr($parameters, 0, -2);
     }
     $parameters .= ']';
     $code->appendLine('return [' . VarExporter::export(Dispatcher::FOUND) . ', ' . VarExporter::export($foundRoute[1]) . ', ' . $parameters . '];');
 }