mathsgod / gql-client
一个简单的PHP GraphQL客户端工具
3.1.1
2022-05-27 09:08 UTC
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.2
- mathsgod/php-util: ^1.3
Requires (Dev)
- phpunit/phpunit: ^9.5
README
客户端示例
查询
$client = new GQL\Client($server_address); $data = $client->query([ "me" => [ "first_name", "last_name" ] ]);
带有参数的查询
$client = new GQL\Client($server_address); $data = $client->query([ "getUser" => [ "__args"=>[ "id"=>1 ], "first_name", "last_name", "findInvoice"=>[ "__args"=>[ "status"=>"pending" ], "invoice_no" ] ] ]);
变异和订阅
$data = $client->mutation("updateUser",[ "__args"=>["user_id"=>1,"first_name"=>"Raymond"] ]); $data=$client->subscription("createUser",[ "__args"=>["first_name"=>"raymond"] ]);
认证
$client = new GQL\Client($server_address); $client->auth=["username","password"]; $data = $client->query([ "me" => [ "first_name", "last_name" ] ]);
不检查SSL
$client = new GQL\Client($server_address,["verify"=>false]); $data = $client->query([ "me" => [ "first_name", "last_name" ] ]);
构建器
查询
echo Builder::Query([ "me" => [ "first_name", "last_name" ] ]); // query{ me {first_name last_name} }
变异
echo Builder:Mutation("updateUser",[ "__args"=>[ "user_id"=>1, "first_name"=>"Raymond" ] ]); // mutation{ updateUser(user_id:1, first_name:"Raymond") }
订阅
echo Builder:Mutation("createUser",["__args"=>["first_name"=>"Raymond"]]); // subscription{ createUser(first_name:"Raymond") }