PhperKaigi2022で発表した内容です。
# 概要
昨今宣言的UIの台頭とともに、GraphQLが注目を浴びています。
特にReactではApollo Clientの存在もあり大変便利です。
ではPHPではGraphQLのエコシステムはどうなっているのでしょうか?
今回のトークではGraphQLを活用するメリット・デメリットから、PHPでGraphQLを扱う是非、PHPでGraphQLを扱う場合のライブラリやエコシステムについて解説をします。
# 参考リンク集
- 宣言的UIの状態管理とアーキテクチャ - SwiftUIとGraphQLによる実践
宣言的UIとGraphQLの関わりがわかる良い資料です。
- GraphQL Over Http
httpでGraphQLが同実現されてるかまとめられてます。
- Http Query MethodのDraft
Http Query Methodのrfcのdraftです。2022年4月時点では決まってないので、これからが楽しみですね。
- 200 OK! Error Handling in GraphQL
GraphQLでは実行時エラーをなぜ200で返すのかという解説がまとめられています。解説動画もあります
- Authentication and authorization
認証時のあれこれ
- data loader
N+1対策で
- graphql/swapi-graphql
GraphQLの公式サンプル( swapi-graphql)です。Playgroundはもあります。
- Relay
Relayというライブラリがありますが、その設計パターンをスキーマ設計時に採用しておくとキャッシュ設計やページネーションの対応が楽になりますという紹介です。
- Relay Cursor Connectionsの仕様と実装方法について
- 言語別GraphQLライブラリ一覧
とりあえず初手でみるのおすすめです。
- webonyx/graphql-php
PHPでのサーバーサイド用のGraphQLライブラリとして紹介しました。
- spawnia/sailor
PHPでのクライアントサイド用のGraphQLライブラリとして紹介しました。
- laravel-graphql
スキーマを独自に書く形式。筆者自身はこちらが好みだったりはします。
- light house
eloquentからGraphQLスキーマを生成できる。日本語の情報だとこちらが優勢な気はします。
- hasura
PostgreSQLからGraphQLエンドポイントがかんたんにつくれるSaaSです。
- Hasura + Firebaseで実践GraphQL入門
筆者の記事の宣伝です。