private function addParameterMapping(ExpressionCompiler $compiler) { $name = $compiler->nextName(); $indexName = $compiler->nextName(); $paramName = $compiler->nextName(); $compiler->setAttribute('parameter_mapping_name', $name)->writeln("\${$name} = array();")->write("foreach (")->compileInternal(new VariableExpression('object'))->writeln("->reflection->getParameters() as \${$indexName} => \${$paramName}) {")->indent()->writeln("\${$name}[\${$paramName}->name] = \${$indexName};")->outdent()->writeln("}\n"); }
public function compilePreconditions(ExpressionCompiler $compiler, ExpressionInterface $expr) { if ('user' === $expr->name) { $compiler->setAttribute('user_var_name', $name = $compiler->nextName())->write("\${$name} = ")->compileInternal(new VariableExpression('token'))->write("->getUser();\n\n"); } }