Graphql သည်အားကောင်းသော API query language နှင့်ဖောက်သည်များအားလိုအပ်သောအချက်အလက်များကိုတိကျစွာတောင်းဆိုရန်ခွင့်ပြုသည့် Runtime အမျိုးအစားစနစ်ဖြစ်သည်။ ဤဆောင်းပါးတွင် ThinkPpP6 မူဘောင်တွင် crospql ကို အသုံးပြု. ဒေတာဘေ့စ်မေးမြန်းမှုကိုလုပ်ဆောင်နိုင်စွမ်းကိုမည်သို့အကောင်အထည်ဖော်မည်ကိုအသေးစိတ်မိတ်ဆက်ပေးပါမည်။
သင်မစတင်မီ chosser မှတဆင့် graphql နှင့်သက်ဆိုင်သောအစိတ်အပိုင်းများကို install လုပ်ရန်လိုအပ်သည်။
<span class="fun">တေးရေးဆရာသည် overlog / graphql-bundle လိုအပ်သည်</span>
တပ်ဆင်မှုပြီးဆုံးသွားသောအခါ config directory ရှိ graigl.php ဖိုင်ကိုဖန်တီးပါ။
return [
'default_schema' => 'default',
'schemas' => [
'default' => [
'query' => [
'fields' => [
'hello' => [
'type' => 'String',
'resolve' => function () {
return 'Hello, GraphQL!';
}
]
]
]
]
]
];
အထက်ပါပြင်ဆင်မှုသည် hello quere query field တစ်ခုဖြစ်ပြီးသတ်မှတ်ထားသော string ကိုပြန်ပို့သည်။
ထို့နောက် Client's Graphql query query request ကိုလက်ခံရရှိရန်အက်ပလီကေးရှင်း / Controller လမ်းညွှန်တွင် groubql.php controller တစ်ခုကိုဖန်တီးပါ။
namespace app\controller;
use Overblog\GraphQLBundle\Definition\Resolver\ResolverInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class GraphQL
{
public function index(Request $request, ResolverInterface $resolver)
{
$query = $request->request->get('query');
$variables = $request->request->get('variables');
$result = $resolver->resolve($query, $variables);
return new Response(json_encode($result));
}
}
Controller သည် cherfql ၏မေးမြန်းမှုမှ chatql မေးမြန်းမှုကိုရရှိသည်။ ခွဲခြမ်းစိတ်ဖြာခြင်းအတွက် resolver ဟုခေါ်သည်။
client တောင်းဆိုမှုများအတွက် graphql interface ကိုမှန်ကန်စွာဝင်ရောက်ရန် Routing configuration ကို config / routes.php တွင် routing configuration ကိုထည့်ရန်လိုအပ်သည်။
use think\facade\Route;
Route::rule('graphql', 'controller/GraphQL/index');
ဤ configuration သည် / grospql controller ၏အညွှန်းကိန်းနည်းလမ်းကိုအတွက် / conflql လမ်းကြောင်းသို့တောင်းဆိုသည်။
အထက်ပါအဆင့်များကိုပြီးစီးပြီးနောက်သင်၏ browser ကိုသင်၏ browser မှတဆင့် http: // localhost / gropql ကို ရယူနိုင်သည်။ query editor input တွင်:
{
hello
}
စုံစမ်းမှုကိုအကောင်အထည်ဖော်ပြီးနောက်ပြန်လည်ရရှိခြင်းသည် -
{
"data": {
"hello": "Hello, GraphQL!"
}
}
ThinkPpP6 တွင် graphql ၏အခြေခံပေါင်းစည်းမှုသည်အောင်မြင်ခဲ့ကြောင်းဖော်ပြသည်။
ဤဆောင်းပါးသည် conflesspp6 မူဘောင်တွင် conflessPP6 မူဘောင်တွင် conflipp6 မူဘောင်တွင်မည်သို့ပေါင်းစည်းရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။ အခြေခံဂရစ်စုံစမ်းရေးဥပမာကိုအစိတ်အပိုင်းတပ်ဆင်ခြင်း, configuration, controller ရေးသားခြင်းနှင့်လမ်းကြောင်းချိန်ညှိချက်များမှတစ်ဆင့်ပြီးစီးခဲ့သည်။ Graphql သည် 0 န်ဆောင်မှုခံယူသူမှလိုအပ်သောအချက်အလက်များကိုတိကျစွာပြန်ပို့ပေးပြီး API ၏စွမ်းဆောင်ရည်နှင့်အချည်းနှီးနိုင်မှုကိုတိုးတက်စေသည်။ ThinkPpP6 နှင့် Graphql ပေါင်းစပ်မှုဖြင့်စတင်ရန်ဤဆောင်းပါးသည် developer များကိုလျင်မြန်စွာစတင်ရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။