在 Laravel 5 中集成 Pjax 实现无刷新加载页面的扩展包 —— Laravel Pjax

1、简介 Pjax 是一个 jQuery 插件,其作用是使用 ajax 来加速页面加载时间,工作原理是只从服务器获取指定 HTML 片段,然后客户端使用获取到的内容更新局部页面。 Laravel Pjax 扩展包将 Pjax 集成到 Laravel 中,实现原理是提供一个中间件,返回 Pjax 期望的响应内容。 2、安装 通过 Composer 安装扩展包: $ composer req…

PHP 安全三板斧(五):过滤、验证和转义之转义篇 & Blade 模板引擎避免 XSS 攻击原理探究

PHP 转义实现 把输出渲染成网页或API响应时,一定要转义输出,这也是一种防护措施,能避免渲染恶意代码,造成XSS攻击,还能防止应用的用户无意中执行恶意代码。 我们可以使用前面提到的htmlentities函数转移输出,该函数的第二个参数一定要使用ENT_QUOTES,让这个函数转义单引号和双引号,而且,还要在第三个参数中指定合适的字符编码(通常是UTF-8),下面的例子演示了如何在渲…

在 Laravel 中通过 Artisan View 扩展包创建及删除应用视图文件

1、简介 本扩展包添加了两个视图相关的Artisan命令到Laravel应用,以便我们通过Artisan命令即可创建和管理视图文件,可谓是进一步解放了生产力。 2、安装 还是通过Composer安装: composer require sven/artisan-view 安装完成后到config/app.php中注册服务提供者ArtisanViewServiceProvider到prov…

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

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

[ Laravel 5.2 文档 ] 新手入门指南 —— 带用户功能的任务管理系统

1、简介 本进阶指南提供了对Laravel框架更深入的介绍,包括数据库迁移、Eloquent ORM、路由、认证、授权、依赖注入、验证、视图以及Blade模板。如果你对Laravel框架或其他PHP框架已经有了基本的认识,本章节将是你新的起点,如果你完全还是新手,请从新手入门指南开始。 本节的示例仍然是构建一个任务系统,但是在上一节基础上,本任务系统将允许用户注册登录,同样完整的代码已经…

[ Laravel 5.2 文档 ] 新手入门指南 —— 简单任务管理系统

1、简介 快速入门指南会对Laravel框架做一个基本介绍,包括数据库迁移、Eloquent ORM、路由、验证、视图以及Blade模板等等。如果你是个Laravel新手甚至之前对PHP框架也很陌生,那么这里将会成为你的良好起点。如果你已经使用过Laravel获取其它PHP框架,可以考虑跳转到进阶指南(翻译中)。 为了演示Laravel特性的基本使用,我们将将会构建一个简单的、用于追踪所…

[ Laravel 5.2 文档 ] 服务 —— 分页

1、简介 在其他框架中,分页是件非常痛苦的事,Laravel则使其变得轻而易举。Laravel能够基于当前页智能生成一定范围的链接,且生成的HTML兼容Bootstrap CSS 框架。 2、基本使用 2.1 基于查询构建器分页 有多种方式实现分页,最简单的方式就是使用查询构建器或Eloquent模型的paginate方法。该方法基于当前用户查看页自动设置合适的偏移(offset)和限制…

[ Laravel 5.2 文档 ] 服务 —— 邮件

1、简介 Laravel 基于 SwiftMailer 库提供了一套干净清爽的邮件API。Laravel为SMTP、Mailgun、Mandrill、Amazon SES、PHP 的mail函数,以及sendmail提供了驱动,从而允许你快速通过本地或云服务发送邮件。 邮件驱动预备知识 基于驱动的 API 如 Mailgun 和 Mandrill 通常比 SMTP 服务器更简单、更快。所…

Lumen 5.2 已正式发布,新版本将专注于提供无状态的 JSON API

Lumen 5.2.0 现在正式发布了!本次发布包含 Laravel 5.2 的组件并且对核心理念做了显著修改。 现在使用 Lumen 的用户要注意官方文档中的以下几点说明: 只提供无状态的 API Lumen 5.2 对 Lumen 做了大瘦身 —— 只专注于提供无状态的 JSON API。因此,框架将不再支持会话(Session)和视图(View),如果要使用这些功能,需要使用完整的…

[ Laravel 5.2 文档 ] 基础 —— Blade 模板引擎

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