Laravel 5 如何实现网站在维护模式下允许指定 IP 用户访问(白名单)

为了测试需要,有时候需要在网站处于维护模式下允许特定IP访问网站,在 Laravel 中,这可以通过为维护模式编写自定义中间件来实现。 默认情况下,Laravel 使用 CheckForMaintenanceMode 中间件来判断网站是否处于维护模式并进行相应处理,该中间件的 handle() 方法定义如下: public function handle($request, Cl...

PHP 设计模式系列 —— 建造者模式(Builder)

1、模式定义 建造者模式将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 2、问题引出 假设我们有个生产车的工厂,可以制造各种车,比如自行车、汽车、卡车等等,如果每辆车都是从头到尾按部就班地造,必然效率低下。 3、解决办法 我们可以试着将车的组装和零部件生产分离开来:让一个类似“导演”的角色负责车子组装,而具体造什么样的车需要什么样的零部件让具体的“...

PHP 设计模式系列 —— 抽象工厂模式(Abstract Factory)

1、模式概述 抽象工厂模式为一组相关或相互依赖的对象创建提供接口,而无需指定其具体实现类。抽象工厂的客户端不关心如何创建这些对象,只关心如何将它们组合到一起。 2、问题引出 举个例子,如果某个应用是可移植的,那么它需要封装平台依赖,这些平台可能包括窗口系统、操作系统、数据库等等。这种封装如果未经设计,通常代码会包含多个 if 条件语句以及对应平台的操作。这种硬编码不仅可读性差,而且...

PHP 设计模式系列 —— 概述及常用设计模式大全

1、设计模式概述 在软件工程中,设计模式(Design Pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领域引入到计算机科学的。 设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类或对象来描述其中的关系和相互作...

基于 Laravel 开发博客应用系列 —— 添加评论、RSS 订阅和站点地图功能实现

其实通过之前的步骤我们已经完成了博客的基本功能,这一节也是最后一节,我们来给博客加点料,让博客功能更加完善。 1、评论的问题 现在这个博客的主要缺憾就是用户不能对文章进行评论,不幸的是,博客评论有很多问题要处理。 首先是稳定、令人满意且通用的评论管理,当然,基于 Laravel 5.1 我们可以添加这个功能到后台管理系统,并且允许用户注册、登录、对文章进行评论等等。创建这些功能...

基于Laravel开发博客应用系列 —— 联系我们 & 发送邮件 & 队列使用(基于数据库)

本节我们将会添加联系我们功能到博客应用,要实现该功能我们需要了解 Laravel 的邮件发送功能以及队列处理机制。 1、邮件发送设置 为了使用 Laravel 5.1 的邮件发送功能,首选需要配置邮件发送,配置很简单,打开 .env 文件,查看邮件配置部分: MAIL_DRIVER=smtp MAIL_HOST=mailtrap.io MAIL_PORT=2525 MAIL_...

PHP 7.0 与 PHP 5.6 下 Laravel 博客应用性能对比分析

目前我安装的 Homestead 虚拟机版本是 2.1.8: 该版本 Homestead 上预装的 PHP 版本是 5.6.15: 我们使用 ab 命令(Apache 提供的性能测试工具)在该版本中测试 Laravel 应用(以目前正在讲的使用Laravel开发的博客应用为例)性能,我们模拟 10000 次请求,100 个并发进行压力测试: ab -n 10...

在 Windows 下安装部署 PHP 7.0 本地开发环境

1、在本地安装纯净的 PHP 7 到 PHP 官网 http://windows.php.net/download#php-7.0 下载与本机系统对应的安装版本: 如果是 32 位系统下载 x86 版本,64 位系统下载想 64 系统。 将下载的 zip 文件解压到指定目录,比如我将其解压到 E:/php7,然后在该目录下运行如下命令查看 PHP 版本信息: ph...

基于Laravel开发博客应用系列 —— 前台功能优化:给博客换上漂亮的主题 & 完善博客功能

在本节中我们将会为博客换个主题,让博客前台看上去更加大气美观。 1、使用 Clean Blog Clean Blog 是 Start Bootstrap 提供的一个免费博客模板,本节我们将使用该模板美化博客前台页面。 使用 Bower 获取Clean Blog 首先我们使用 Bower 下载 Clean Blog: bower install clean-blog --save...

基于Laravel开发博客应用系列 —— 后台文章增删改查功能实现(支持Markdown)

本节我们将会完成博客后台管理系统的文章发布功能:我们将会继续完善 posts 表迁移、引入一些额外前端资源、并实现文章创建、修改和删除。 1、修改 posts 表 我们在十分钟创建博客应用中已经创建了posts 表迁移,现在要对其进行修改和完善。 安装 Doctrine 依赖包 在 Laravel 5.1 中如果需要修改数据表的列,则需要安装 Doctrine 依赖包,我们使用 ...