/** * @dataProvider exportCases */ public function testConvertsValueToValidPhp($value, $code) { $exported = VarExporter::export($value); $evaluated = eval('return ' . $exported . ';'); $this->assertSame($code, $exported, ''); $this->assertEquals($value, $evaluated); }
/** * {@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 . '];'); }