Joli\Jane\OpenApi\Generator\Parameter\FormDataParameterGenerator::generateQueryParamStatements PHP Method

generateQueryParamStatements() public method

public generateQueryParamStatements ( $parameter, PhpParser\Node\Expr $queryParamVariable )
$queryParamVariable PhpParser\Node\Expr
    public function generateQueryParamStatements($parameter, Expr $queryParamVariable)
    {
        $statements = parent::generateQueryParamStatements($parameter, $queryParamVariable);
        $statements[] = new Expr\MethodCall($queryParamVariable, 'setFormParameters', [new Node\Arg(new Expr\Array_([new Expr\ArrayItem(new Scalar\String_($parameter->getName()))]))]);
        return $statements;
    }

Usage Example

 /**
  * Create the query param statements and documentation
  *
  * @param Operation $operation
  *
  * @return array
  */
 protected function createQueryParamStatements(Operation $operation)
 {
     $queryParamDocumentation = [];
     $queryParamVariable = new Expr\Variable('queryParam');
     $queryParamStatements = [new Expr\Assign($queryParamVariable, new Expr\New_(new Name('QueryParam')))];
     if ($operation->getOperation()->getParameters()) {
         foreach ($operation->getOperation()->getParameters() as $parameter) {
             if ($parameter instanceof Reference) {
                 $parameter = $this->getResolver()->resolve($parameter);
             }
             if ($parameter instanceof FormDataParameterSubSchema) {
                 $queryParamStatements = array_merge($queryParamStatements, $this->formDataParameterGenerator->generateQueryParamStatements($parameter, $queryParamVariable));
                 $queryParamDocumentation[] = $this->formDataParameterGenerator->generateQueryDocParameter($parameter);
             }
             if ($parameter instanceof HeaderParameterSubSchema) {
                 $queryParamStatements = array_merge($queryParamStatements, $this->headerParameterGenerator->generateQueryParamStatements($parameter, $queryParamVariable));
                 $queryParamDocumentation[] = $this->headerParameterGenerator->generateQueryDocParameter($parameter);
             }
             if ($parameter instanceof QueryParameterSubSchema) {
                 $queryParamStatements = array_merge($queryParamStatements, $this->queryParameterGenerator->generateQueryParamStatements($parameter, $queryParamVariable));
                 $queryParamDocumentation[] = $this->queryParameterGenerator->generateQueryDocParameter($parameter);
             }
         }
     }
     return [$queryParamDocumentation, $queryParamStatements, $queryParamVariable];
 }
FormDataParameterGenerator