PHP code example of fortress / php-graphql-client
1. Go to this page and download the library: Download fortress/php-graphql-client library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once ('vendor/autoload.php' );
fortress / php-graphql-client example snippets
$gql = (new Query('companies' ))
->setSelectionSet(
[
'name' ,
'serialNumber'
]
);
$gql = (new Query())
->setSelectionSet(
[
(new Query('companies' ))
->setSelectionSet(
[
'name' ,
'serialNumber'
]
)
]
);
$gql = (new Query())
->setSelectionSet(
[
(new Query('companies' ))
->setSelectionSet(
[
'name' ,
'serialNumber'
]
),
(new Query('countries' ))
->setSelectionSet(
[
'name' ,
'code' ,
]
)
]
);
$gql = (new Query('companies' ))
->setSelectionSet(
[
'name' ,
'serialNumber' ,
(new Query('branches' ))
->setSelectionSet(
[
'address' ,
(new Query('contracts' ))
->setSelectionSet(['date' ])
]
)
]
);
$gql = (new Query('companies' ))
->setArguments(['name' => 'Tech Co.' , 'first' => 3 ])
->setSelectionSet(
[
'name' ,
'serialNumber'
]
);
$gql = (new Query('companies' ))
->setArguments(['serialNumbers' => [159 , 260 , 371 ]])
->setSelectionSet(
[
'name' ,
'serialNumber'
]
);
$gql = (new Query('companies' ))
->setArguments(['filter' => new RawObject('{name_starts_with: "Face"}' )])
->setSelectionSet(
[
'name' ,
'serialNumber'
]
);
$gql = (new Query('companies' ))
->setVariables(
[
new Variable('name' , 'String' , true ),
new Variable('limit' , 'Int' , false , 5 )
]
)
->setArguments(['name' => '$name' , 'first' => '$limit' ])
->setSelectionSet(
[
'name' ,
'serialNumber'
]
);
$gql = (new Query())
->setSelectionSet(
[
(new Query('companies' , 'TechCo' ))
->setArguments(['name' => 'Tech Co.' ])
->setSelectionSet(
[
'name' ,
'serialNumber'
]
),
(new Query('companies' , 'AnotherTechCo' ))
->setArguments(['name' => 'A.N. Other Tech Co.' ])
->setSelectionSet(
[
'name' ,
'serialNumber'
]
)
]
);
$gql = (new Query('companies' ))
->setAlias('CompanyAlias' )
->setSelectionSet(
[
'name' ,
'serialNumber'
]
);
$gql = new Query('companies' );
$gql->setSelectionSet(
[
'serialNumber' ,
'name' ,
(new InlineFragment('PrivateCompany' ))
->setSelectionSet(
[
'boardMembers' ,
'shareholders' ,
]
),
]
);
$builder = (new QueryBuilder('companies' ))
->setVariable('namePrefix' , 'String' , true )
->setArgument('filter' , new RawObject('{name_starts_with: $namePrefix}' ))
->selectField('name' )
->selectField('serialNumber' );
$gql = $builder->getQuery();
$builder = (new QueryBuilder('companies' , 'CompanyAlias' ))
->selectField('name' )
->selectField('serialNumber' );
$gql = $builder->getQuery();
$builder = (new QueryBuilder('companies' ))
->setAlias('CompanyAlias' )
->selectField('name' )
->selectField('serialNumber' );
$gql = $builder->getQuery();
$builder = (new QueryBuilder())
->setVariable('namePrefix' , 'String' , true )
->selectField(
(new QueryBuilder('companies' ))
->setArgument('filter' , new RawObject('{name_starts_with: $namePrefix}' ))
->selectField('name' )
->selectField('serialNumber' )
)
->selectField(
(new QueryBuilder('company' ))
->setArgument('serialNumber' , 123 )
->selectField('name' )
);
$gql = $builder->getQuery();
$client = new Client(
'http://api.graphql.com' ,
['Authorization' => 'Basic xyz' ]
);
$client = new Client(
'http://api.graphql.com' ,
[],
[
'connect_timeout' => 5 ,
'timeout' => 5 ,
'headers' => [
'Authorization' => 'Basic xyz'
'User-Agent' => 'testing/1.0' ,
],
'proxy' => [
'http' => 'tcp://localhost:8125' ,
'https' => 'tcp://localhost:9124' ,
'no' => ['.mit.edu' , 'foo.com' ]
],
'cert' => ['/path/server.pem' , 'password' ]
...
]
);
$client = new Client(
'http://api.graphql.com' ,
[],
[],
$myHttpClient
);
$results = $client->runQuery($gql);
$results->getData()->companies[0 ]->branches;
$results = $client->runQuery($gql, true );
$results->getData()['companies' ][1 ]['branches' ]['address' ];
$gql = (new Query('companies' ))
->setVariables(
[
new Variable('name' , 'String' , true ),
new Variable('limit' , 'Int' , false , 5 )
]
)
->setArguments(['name' => '$name' , 'first' => '$limit' ])
->setSelectionSet(
[
'name' ,
'serialNumber'
]
);
$variablesArray = ['name' => 'Tech Co.' , 'first' => 5 ];
$results = $client->runQuery($gql, true , $variablesArray);
$mutation = (new Mutation('createCompany' ))
->setArguments(['companyObject' => new RawObject('{name: "Trial Company", employees: 200}' )])
->setSelectionSet(
[
'_id' ,
'name' ,
'serialNumber' ,
]
);
$results = $client->runQuery($mutation);
$mutation = (new Mutation('createCompany' ))
->setVariables([new Variable('company' , 'CompanyInputObject' , true )])
->setArguments(['companyObject' => '$company' ]);
$variables = ['company' => ['name' => 'Tech Company' , 'type' => 'Testing' , 'size' => 'Medium' ]];
$client->runQuery(
$mutation, true , $variables
);
mutation($company: CompanyInputObject!) {
createCompany(companyObject: $company)
}
{"company" :{"name" :"Tech Company" ,"type" :"Testing" ,"size" :"Medium" }}
query($name: String!) {
pokemon(name: $name) {
id
number
name
evolutions {
id
number
name
weight {
minimum
maximum
}
attacks {
fast {
name
type
damage
}
}
}
}
}
$client = new Client(
'https://graphql-pokemon.now.sh/'
);
$gql = (new Query('pokemon' ))
->setVariables([new Variable('name' , 'String' , true )])
->setArguments(['name' => '$name' ])
->setSelectionSet(
[
'id' ,
'number' ,
'name' ,
(new Query('evolutions' ))
->setSelectionSet(
[
'id' ,
'number' ,
'name' ,
(new Query('attacks' ))
->setSelectionSet(
[
(new Query('fast' ))
->setSelectionSet(
[
'name' ,
'type' ,
'damage' ,
]
)
]
)
]
)
]
);
try {
$name = readline('Enter pokemon name: ' );
$results = $client->runQuery($gql, true , ['name' => $name]);
}
catch (QueryError $exception) {
print_r($exception->getErrorDetails());
exit ;
}
print_r($results->getData()['pokemon' ]);
$client = new Client(
'https://graphql-pokemon.now.sh/'
);
$builder = (new QueryBuilder('pokemon' ))
->setVariable('name' , 'String' , true )
->setArgument('name' , '$name' )
->selectField('id' )
->selectField('number' )
->selectField('name' )
->selectField(
(new QueryBuilder('evolutions' ))
->selectField('id' )
->selectField('name' )
->selectField('number' )
->selectField(
(new QueryBuilder('attacks' ))
->selectField(
(new QueryBuilder('fast' ))
->selectField('name' )
->selectField('type' )
->selectField('damage' )
)
)
);
try {
$name = readline('Enter pokemon name: ' );
$results = $client->runQuery($builder, true , ['name' => $name]);
}
catch (QueryError $exception) {
print_r($exception->getErrorDetails());
exit ;
}
print_r($results->getData()['pokemon' ]);
$gql = <<<QUERY
query {
pokemon(name: "Pikachu") {
id
number
name
attacks {
special {
name
type
damage
}
}
}
}
QUERY;
$results = $client->runRawQuery($gql);
$ composer