• 等级
  • 746327 访问
  • 320 原创
  • 2 转发
  • 3451 排名
  • 118 评论
  • 416 获赞

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

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

2018-12-09 15:01:48

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

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

2018-12-02 18:01:58

Laravel 5.5 Eloquent ORM - 模型数据转化

简介 当构建 JSON API 时,经常需要转化模型和关联关系为数组或 JSON。 Eloquent 提供了便捷方法以便实现这些转换,还可以控制哪些属性被包含到序列化中。 转化为数组 想要转化模型及其加载的关联关系为数组,可以使用 toArray 方法。 toArray 方法是递归的,所有属性及其关联对象属性(包括关联的关联)都会被转化为数组。 $user = App\User::w...

2018-11-26 23:44:23

Laravel 5.5 Eloquent ORM - 访问器和修改器

简介 访问器和修改器允许你在获取模型属性或设置其值时格式化 Eloquent 属性。 例如,你可能想要使用 Laravel 加密器对存储在数据库中的数据进行加密,并且在 Eloquent 模型中访问时自动进行解密。 除了自定义访问器和修改器,Eloquent 还可以自动转换日期字段为 Carbon 实例甚至将文本转换为JSON。 访问器 & 修改器 定义访问器 要定义一个访问器...

2018-11-25 21:31:22

Laravel 5.5 Eloquent ORM - 关联关系

简介 数据表经常要与其它表做关联,比如一篇博客文章可能有很多评论,或者一个订单会被关联到下单用户。 Eloquent 让组织和处理这些关联关系变得简单,并且支持多种不同类型的关联关系: 一对一 一对多 多对多 远层一对多 多态关联 多对多的多态关联 定义关联关系 关联关系以 Eloquent 模型类方法的方式定义。 和 Eloquent 模型本身一样,关联关系也是强大的查询构建...

2018-11-18 20:15:07

Laravel 5.5 Eloquent ORM - 快速入门

简介 Laravel 内置的 Eloquent ORM 提供了一个美观、简单的与数据库打交道的 ActiveRecord 实现。 每张数据表都对应一个与该表进行交互的模型(Model),通过模型类,你可以对数据表进行查询、插入、更新、删除等操作。 定义模型 我们从创建一个 Eloquent 模型开始,模型类默认位于 app 目录下,但推荐将模型存放在 app/Models 目录下。 所有...

2018-11-16 22:50:28

Laravel 5.5 数据库 - 填充器

简介 Laravel 使用填充类提供了一个简单方法来填充测试数据到数据库。 所有的填充类都位于 database/seeds 目录。 填充类的类名完全由你自定义,但最好还是遵循一定的规则,例如 UsersTableSeeder 等。 在 Laravel 中,默认会提供一个 DatabaseSeeder 示例类。从这个类中,你可以使用 call 方法来运行其他填充类,从而允许你控制数据的填充...

2018-10-29 23:10:37

Laravel 5.5 数据库 - 迁移

简介 所谓迁移就像是数据库表结构的版本控制,这种机制允许团队轻松的编辑并共享数据库的表结构。 迁移通常和 Laravel 的 schema 构建器结合,从而可以很容易地构建应用的数据库表结构。 如果你曾经频繁告知团队成员需要手动添加字段到本地数据库的表结构以维护本地开发环境,那么这正是数据库迁移所致力于解决的问题。 Laravel 的 Schema 门面提供了与数据库系统无关的创建和操纵表...

2018-10-28 22:16:35

Laravel 5.5 数据库 - 分页

Laravel 的分页器与查询构建器和 Eloquent ORM 集成在一起,提供了基于数据库结果集的分页。分页器生成的 HTML 兼容 Bootstrap CSS 框架。 基本使用 基于查询构建器进行分页 有多种方式实现分页功能,最简单的方式就是使用查询构建器或 Eloquent 查询提供的 paginate 方法。 该方法基于当前用户查看页自动设置合适的偏移(offset)和限制(li...

2018-10-21 18:30:48

Laravel 5.5 数据库 - 查询构建器

简介 数据库查询构建器提供了一个方便的流接口模式用于创建和执行数据库查询。查询构建器可以用于执行应用中绝大部分数据库操作,并且能够在 Laravel 支持的所有数据库系统上工作。 注:流接口模式,也称作方法链,是一种设计模式。 Laravel 查询构建器使用 PDO 参数绑定来避免 SQL 注入攻击,不再需要过滤以绑定方式传递的字符串。 获取结果集 从一张表中取出所有行 DB 门面的 ...

2018-10-18 23:49:15

Laravel 5.5 数据库 - 基本配置和操作

简介 Laravel 中连接不同类型的数据库,对数据库进行增删改查操作都很简单,不论使用原生 SQL、还是查询构建器,还是 Eloquent ORM。 目前,Laravel 支持四种类型的数据库系统: MySQL Postgres SQLite SQL Server 配置 应用的数据库配置位于 config/database.php 文件。 需要注意的是:和运行环境相关的数据库配置...

2018-09-27 21:42:51

PHP 错误异常处理机制及 Laravel 框架底层的相应实现

错误和异常是很强大的工具,能帮助我们预期意料之外的事,使用优雅的方式捕获问题。不过,错误和异常很相似,容易让人混淆,二者都表示出问题了,都会提供错误信息,而且都有错误类型。然而,错误出现的时间比异常早,错误会导致程序脚本停止执行,如果可能,错误会委托给全局错误处理程序处理,有些错误是无法恢复的。对于高版本 PHP 我们基本上只需要处理异常,不用管错误,但我们仍然必须做好防御准备,因为 PHP 中很...

2018-09-27 00:59:24

Laravel 5.5 异常处理 & 错误日志

简介 Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户。 此外,Laravel 还集成了 Monolog 日志库以便提供各种功能强大的日志处理器,默认情况下,Laravel 已经为我们配置了一些处理器,我们可以选择单个日志文件,也可以选择记录错误信息到系统日志。 配置 调试模式 配置文件 confi...

2018-09-24 17:45:42

Laravel 5.5 表单验证

简介 Laravel 提供了多种方法来验证请求输入数据。默认情况下,Laravel 的控制器基类使用 ValidatesRequests trait,该 trait 提供了便捷方法通过各种功能强大的验证规则来验证输入的 HTTP 请求。 快速入门 先看一个完整的验证表单并返回错误信息给用户的示例。 定义路由 首先,我们假定在 routes/web.php 文件中包含如下路由: // ...

2018-09-16 20:11:43

Laravel 5.5 Session 处理

简介 由于 HTTP 协议本身是无状态的,上一个请求与下一个请求无任何关联,为此我们引入 Session 来存储用户请求信息以解决特定场景下无状态导致的问题(比如登录、购物)。 Laravel 通过简洁的 API 统一处理后端各种 Session 驱动,目前开箱支持的流行后端驱动包括 Memcached、Redis 和数据库。 Laravel 并没有使用 PHP 内置的 Session 功能...

2018-08-30 21:53:36

Laravel 5.5 URL 生成

简介 Laravel 提供了多个辅助函数来帮助我们在应用中生成 URL。这些函数主要用于在视图模板和 API 响应中构建链接,或者生成重定向响应。 快速入门 生成 URL url 辅助函数可用于为应用生成任意 URL,并且生成的 URL 会自动使用当前请求的 scheme(HTTP or HTTPS) 和 host 属性: $post = App\Post::find(1); ech...

2018-08-24 23:09:17

Laravel 5.5 视图 - 多语言支持

简介 Laravel 的本地化特性允许你在应用中轻松实现多语言支持。语言字符串默认存放在 resources/lang 目录中,该目录包含了应用支持的每种语言的子目录。 所有的语言文件都返回一个键值对数组,例如,resources/lang/en/passwords.php 文件: <?php return [ /* |----------------------...

2018-08-23 23:42:55

Laravel 5.5 视图 - 创建视图和数据传递

创建视图 视图包含应用的 HTML 代码,并将应用的控制器逻辑和表现逻辑进行分离。视图文件存放在 resources/views 目录中。下面是一个简单的视图示例: <!-- resources/views/greeting.blade.php 视图文件 --> <html> <body> <h1>Hello, {{...

2018-08-20 22:58:52

Laravel 5.5 视图 - Blade 模板引擎

Blade 简介 Blade 是由 Laravel 提供的非常简单但功能强大的模板引擎,不同于其他流行的 PHP 模板引擎,Blade 在视图中并不约束你使用 PHP 原生代码。所有的 Blade 视图最终都会被编译成原生 PHP 代码并缓存起来直到被修改,这意味着对应用的性能而言 Blade 基本上是零开销。 Blade 视图文件(也叫模板文件)使用 .blade.php 文件扩展名,都存放...

2018-08-12 15:31:35

Laravel 5.5 HTTP 响应

创建响应 字符串 & 数组 所有的路由和控制器处理完业务逻辑之后都会返回一个发送到用户浏览器的响应,Laravel 提供了多种不同的方式来返回响应,最基本的响应就是从路由或控制器返回一个简单的字符串,框架会自动将这个字符串转化为一个完整的 HTTP 响应。 Route::get('/', function () { return 'Hello World'; }); 除了...

2018-07-22 11:05:33

lamp_yang_3533

Just do it
关注
  • PHP工程师
  • 深圳市
奖章
  • 专栏达人