侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Laravel框架中集成GraphQL

Laravel  /  管理员 发布于 2个月前   96

依赖包

1.nuwave/lighthouse

Lighthouse是Laravel应用程序的模式优先GraphQL包。


2.mll-lab/laravel-graphql-playground

在线调试工具,用于测试和浏览模式的UI


3.mll-lab/graphql-php-scalars

引入自定义php标量,用于https://github.com/webonyx/graphql-php的自定义标量类型的集合


安装集成步骤

1.安装nuwave/lighthouse

composer require nuwave/lighthouse


2. 安装在线调试工具 mll-lab/laravel-graphql-playground

composer require mll-lab/laravel-graphql-playground


3. 发布默认模式与相关配置

php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider"

会在相应目录中生成相关文件:

config/lighthouse.php
graphql/schema.graphql


4. 引入自定义 php 标量 mll-lab/graphql-php-scalars

composer require mll-lab/graphql-php-scalars


5. 更新 graphql/schema.graphql文件

1). 创建 graphql/traits 目录

2). 更新 graphql/schema.graphql文件

"A datetime string with format `Y-m-d H:i:s`, e.g. `2018-01-01 13:00:00`." 
scalar DateTime @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\DateTime") 

"A date string with format `Y-m-d`, e.g. `2011-05-23`." 
scalar Date @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\Date") 

"A datetime string with format `Y-m-d H:i:s`, e.g. `2018-05-23 13:43:32`." 

scalar DateTime @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\DateTime") 

scalar Email @scalar(class: "MLL\\GraphQLScalars\\Email") 

scalar JSON @scalar(class: "MLL\\GraphQLScalars\\JSON") 

scalar Mixed @scalar(class: "MLL\\GraphQLScalars\\Mixed") 

type Query 
type Mutation 

#import traits/*.graphql


3). 创建 traits/users.graphql文件

extend type Query { 
   users: [User!]! @paginate(defaultCount: 10) 
   user(id: ID @eq): User @find 
} 

type User { 
   id: ID! 
   name: String! 
   email: String! 
   created_at: DateTime! 
   updated_at: DateTime! 
}


更多使用 请访问官方手册:

https://lighthouse-php.com/

  • 上一条:
    go语言中对文件读写权限的检查,更改等功能的示例代码
    下一条:
    国内“翻墙”问题的背景
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel 9.24版本发布(0个评论)
    • Laravel collect集合中获取二维数组中键值功能示例代码(0个评论)
    • lumen中验证类的实现及使用流程步骤(0个评论)
    • 构建你自己的Laravel扩展包的流程步骤(0个评论)
    • Laravel 9.23版本发布(0个评论)
    • 近期文章
    • GnuPG(GPG)生成用于替代SSH密钥的子密钥:签名、加密、鉴权及SSH验证(0个评论)
    • GnuPG(GPG)密钥创建的流程步骤(0个评论)
    • Laravel 9.24版本发布(0个评论)
    • windows系统phpstudy环境中安装amqp拓展流程步骤(0个评论)
    • windows10+docker desktop使用docker compose编排多容器构建dnmp环境(0个评论)
    • windows10+docker desktop运行laravel项目报错:could not find driver...(0个评论)
    • windows10+docker desktop报错:docker: Error response from daemon: user declined directory sharing(0个评论)
    • go语言中Pat多路复用器路由功能示例代码(0个评论)
    • go语言中HttpRouter多路复用器路由功能示例代码(0个评论)
    • js中使用Push.js通知库将通知推送到浏览器(0个评论)
    • 近期评论
    • nkt 在

      阿里云香港服务器搭建自用vpn:Shadowsocks使用流程步骤中评论 用了三分钟就被禁了,直接阿里云服务器22端口都禁了..
    • 熊丽 在

      安装docker + locust + boomer压测环境实现对接口的压测中评论 试试水..
    • 博主 在

      阿里云香港服务器搭建自用vpn:Shadowsocks使用流程步骤中评论 @test  也可能是国内大环境所至,也是好事,督促你该研究学习新技术..
    • test 在

      阿里云香港服务器搭建自用vpn:Shadowsocks使用流程步骤中评论 打了一次网页,然后再也打不开了。。是阿里云的缘故吗?..
    • 博主 在

      centos7中Meili Search搜索引擎安装流程步骤中评论 @鹿   执行以下命令看看你的2.27版本是否存在strin..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-01
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客