Laravel API 系列教程(五):基于 GraphQL 构建 Laravel API —— 高级使用篇

上一篇教程中我们重点探讨了 GraphQL 的概念及其在 Laravel API 构建中的基本使用,本篇教程将在其基础上探讨关于 GraphQL 的一些更高级的使用。 带参数的查询 带参数的查询是构建 API 时的常见操作,上一篇教程中编写的列表查询功能已经支持带参数查询,只需传入相应查询参数即可:  嵌套资源 关联关系是 Laravel 模型操作中又一重要功能,我们可以通过关联关系获…

Laravel API 系列教程(四):基于 GraphQL 构建 Laravel API —— 基本使用篇

GraphQL 简介 GraphQL 是一个用于 API 的查询语言,同时也是一个通过为你的数据定义类型系统进行查询的服务端运行时。GraphQL 与数据库或任意存储引擎无关,仅仅是代码逻辑层面的查询实现。 通过 GraphQL,可以提高 API 调用的灵活性。我们可以在访问 API 时像编写数据库查询一样通过编写查询语句指定需要的数据,这在构建复杂 API 时很有用,GraphQL 已…

Laravel API 系列教程(三):使用 API Resource 来创建自己的 {JSON:API} 格式 API

 上一篇教程中我们通过 jwt-auth 实现了 Laravel 的 API 认证,认证过后就可以通过 http://apidemo.test/api/auth/user 接口访问当前用户信息: 可以看到上面的返回数据以原生格式返回,没有经过任何处理,甚至有可能包含敏感信息,我们当然可以处理之后再返回,一个两个接口还好,如果现实业务中面对成百上千个接口呢?这种处理方式显然不合适,不仅耗…

Laravel API 系列教程(二): 结合 Laravel 5.5 和 Vue SPA 基于 jwt-auth 实现 API 认证

 上一篇我们简单演示了 Laravel 5.5 中 RESTful API 的构建、认证和测试,本教程将在上一篇教程的基础上进行升华,我们将结合 Laravel 和 Vue 单页面应用(SPA),在此双剑合壁的基础上引入 jwt-auth 实现 API 认证,由于 Laravel 集成了对 Vue 的支持,所以在 Laravel 应用中使用 Vue 也是如鱼得水,非常顺畅,整篇教程涉及…

Laravel API 系列教程(一): 基于 Laravel 5.5 构建 & 测试 RESTful API

随着移动开发和 JavaScript 框架的日益流行,使用 RESTful API 在数据层和客户端之间构建交互接口逐渐成为最佳选择。在本系列教程中,学院君将会带领大家基于 Laravel 5.5 来构建并测试带认证功能的 RESTful API。 RESTful API 开始之前,我们先要了解什么是 RESTful API。REST 是 REpresentational State T…

基于 Apiato 在 Laravel 5.6 中快速构建可扩展易测试的、API 驱动的应用

简介 Apiato 是一个基于 Laravel 5.6 的框架(5.5也支持),通过提供一系列适用于 API 开发的工具和函数,可以帮助我们快速构建可扩展、易测试、以 API 为中心的现代 PHP 应用。 从头开始开发一套 API 的所有功能总是件很费时间的事,为此,Apiato 为我们提供了应用 API 开发所需的基础组件,我们只需专注业务逻辑开发即可,从而更快地将 API 接口交付给…

[ Laravel 5.5 文档 ] 底层原理 —— 契约(Contracts)

简介 Laravel 中的契约是指框架提供的一系列定义核心服务的接口。 例如,Illuminate\Contracts\Queue\Queue 契约定义了队列任务需要实现的方法,Illuminate\Contracts\Mail\Mailer 契约定义了发送邮件所需要实现的方法。 每一个契约都有框架提供的相应实现。例如,Laravel 为队列提供了多个驱动的实现,邮件则由 SwiftMa…

[ Laravel 5.5 文档 ] 底层原理 —— 门面(Facades)

简介 注:对门面这个概念不理解?可参考PHP 设计模式系列 —— 门面模式(Facade)。 门面为应用服务容器中的绑定类提供了一个“静态”接口。Laravel 内置了很多门面,你可能在不知道的情况下正在使用它们。Laravel 的门面作为服务容器中底层类的“静态代理”,相比于传统静态方法,在维护时能够提供更加易于测试、更加灵活、简明优雅的语法。 Laravel 的所有门面都定义在 Il…

[ Laravel 5.5 文档 ] 底层原理 —— 服务提供者

简介 服务提供者是 Laravel 应用启动的中心,你自己的应用以及所有 Laravel 的核心服务都是通过服务提供者启动。 但是,我们所谓的“启动”指的是什么?通常,这意味着注册服务,包括注册服务容器绑定、事件监听器、中间件甚至路由。服务提供者是应用配置的中心。 如果你打开 Laravel 自带的 config/app.php 文件,将会看到一个 providers 数组,这里就是应用…

[ Laravel 5.5 文档 ] 底层原理 —— 服务容器

简介 Laravel 服务容器是一个用于管理类依赖和执行依赖注入的强大工具。依赖注入听上去很花哨,其实质是通过构造函数或者某些情况下通过 setter 方法将类依赖注入到类中。 让我们看一个简单的例子: <?php namespace App\Http\Controllers; use App\User; use App\Repositories\UserRepository; u…