Laravel 5.3 新特性系列 —— 路由文件及路径修改

1、回顾Laravel 5.2中路由的修改 在 Laravel 5.2 的routes.php中我们可以看到路由被分割成两个路由群组:web和api,这样做的原因是基于中间件群组的理念:开箱即可拥有web和api两组路由。 web路由组提供了普通web用户所需的所有功能特性:如session、cookie、CSRF防护等等,相比之下,api路由组更加轻量级,只提供了throttle中间件…

基于 Laravel 的 API 服务端架构代码

1、源码地址 原文出处:http://flc.ren/2016/08/549.html GitHub:https://github.com/flc1125/ApiServer 2、部署说明 现有API基于laravel框架开发,本次介绍也针对laravel。可根据文档自行调整,以适用其他框架下使用! 2.1 数据库相关 执行如下SQL语句 CREATE TABLE `prefix_app…

使用 Laravel API 文档生成器扩展包自动为项目生成 API 文档

1、简介&安装 Laravel API 文档生成器扩展包可以基于 Laravel 应用路由自动生成项目 API 文档。 我们使用Composer安装这个扩展包: $ composer require mpociot/laravel-apidoc-generator 安装完成后需要到config/app.php中注册服务提供者: Mpociot\ApiDoc\ApiDocGener…

使用 Lumen + Stormpath 为移动 App 提供后端 API

1、概述 Stormpath 致力于为开发者提供用户认证 API,通过 Stormpath 我们可以快速搭建起用户认证系统。最近,Stormpath 官方将Lumen 集成到 Stormpath 的 PHP SDK 中(在此之前 Laravel 与 Stormpath 的集成已经做好:stormpath-laravel),这样,你只需要花费几分钟的时间就可以为移动 App 提供一个 PH…

Laravel & Lumen RESTFul API 扩展包:Dingo API(五) —— 转化器(Transformer)

1、简介 通过转化器,你可以将对象转化为数组,并强制转化整型和布尔类型,包括分页结果和嵌套关联。 本章节我们主要讨论转化器及其使用,这里的转化器包括以下两层意思: 转化层(transformation layer)是一个准备和处理转化器的库 转化器(transformer)是一个获取原始数据并将其转化为数组格式的类,处理器的处理方式取决于转化层。 2、使用转化器 有多种方式使用转化器。 …

Laravel & Lumen RESTFul API 扩展包:Dingo API(四) —— 错误和异常响应

在构建API的时候处理错误是一件痛苦的事儿,在Dingo API中,你不需要手动构建错误响应,只需要抛出一个继承自Symfony\Component\HttpKernel\Exception\HttpException的异常,API会自动为你处理这个响应。 下面是Dingo API内置的Symfony异常: 异常 状态码 Symfony\Component\HttpKernel\Exce…

Laravel & Lumen RESTFul API 扩展包:Dingo API(三) —— Response(响应)

一个API的功能主要是获取请求并返回响应给客户端,响应的格式是多样的,比如JSON,返回响应的方式也是多样的,这取决于当前构建的API的复杂度以及对未来的考量。 返回响应最简单的方式是直接从控制器返回数组或对象,但不是每个响应对象都能保证格式正确,所以你要确保它们实现了ArrayObject或者Illuminate\Support\Contracts\ArrayableInterface…

Laravel & Lumen RESTFul API 扩展包:Dingo API(二) —— 创建 API Endpoint(路由)

Endpoint 就是路由的另一种术语,当我们讨论API时,很多人习惯将访问的路由看作Endpoint。 1、版本号 为了避免和主应用的路由混在一起,Dingo API使用了自己的路由器,正因如此我们首先需要获取API路由器实例来创建Endpoint: $api = app(‘Dingo\Api\Routing\Router’); 接下来需要定义版本号,从而可以为多版本API创建同样的E…

Laravel & Lumen RESTFul API 扩展包:Dingo API(一) —— 安装配置篇

Dingo API 为开发者提供了一整套工具以便帮助你轻松、快捷的构建自己的API。这些工具包括: 内容协商 多认证适配器 API版本 频率限制 响应转化和格式化 错误及异常处理 内部请求 API文档 1、安装 安装该扩展包之前需要保证已经安装以下程序: Laravel 5.1+ 或 Lumen 5.1+ PHP 5.5.9+ 然后通过如下Composer命令安装扩展包: compose…

使用 Laravel Generator 快速为 Laravel 应用生成CRUD、API、测试用例代码 —— 使用篇

API生成器 要生成API,我们可以使用如下命令: php artisan infyom:api $MODEL_NAME$ 其中$MODEL_NAME$需要替换成你的模型名称,例如: php artisan infyom:api Post 然后需要在命令行手动输入模型对应表的字段: 这里我们暂且输入title和content字段(id和时间戳会自动生成无需在这里添加),完成后输入exit…