最佳实践系列(十一):深入探讨 PHP 错误异常处理机制及 Laravel 框架底层的相应实现

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

通过 d4m-nfs 运行 laradock,告别龟速的虚拟机

LaraDock能够帮你在Docker上快速搭建Laravel应用。就像Laravel Homestead一样,但是Docker替换了Vagrant。 介绍 大家可以先看官方Laradock_README.md。使用方法很简单,让我们从此再也不需要使用Vagrant了。 特点 在PHP版本:7.0,5.6.5.5…之中可以简单切换。 可选择你最喜欢的数据库引擎,比如:MySQ…

[ Laravel 5.4 文档 ] 开发环境 —— Laravel Valet

1、简介 Valet是为Mac提供的极简主义开发环境,没有Vagrant,也无需/etc/hosts文件,甚至可以使用本地隧道公开共享你的站点。 在你启动Mac后,Laravel Valet会在后台静默运行Nginx,然后通过使用DnsMasq,Valet将所有请求代理到*.dev域名并指向本地安装的站点目录。 这样一个极速的Laravel开发环境只需要占用7M内存。Valet并不是想要…

[ Laravel 5.4 文档 ] 开发环境 —— Laravel Homestead

1、简介 Laravel 致力于让整个 PHP 开发过程变得让人愉悦,包括本地开发环境,为此官方为我们提供了一整套本地开发环境 —— Laravel Homestead。 Laravel Homestead 是一个打包好各种 Laravel 开发所需要的软件及工具的 Vagrant 盒子(Vagrant 提供了一个便捷的方式来管理和设置虚拟机),该盒子为我们提供了优秀的开发环境,有了它,…

Ubuntu上也可以用Valet了:Laravel Valet For Ubuntu

如果你使用的是Mac的话,你应该已经感受过Valet作为Laravel本地开发环境的便捷,比如我已经不用Homestead好多年。好消息是,在Ubuntu系统上现在我们也可以使用Valet了。 Valet for Ubuntu是专门为Ubuntu系统定制的精简版本,基于Valet v1并且使用的是Caddy服务器。安装也很简单,首先确保你运行的Ubuntu系统是15.04及以上版本,以保…

Laravel Valet 2.0 版本已发布,内置服务器替换成 Nginx

 Laravel Valet,Mac平台上的极简Laravel开发环境,最近发布了2.0版本,新版本主要包含了一些bug修复以及将内置服务器从Caddy替换成Nginx。 升级到 Valet 2.0 升级到新版本很简单,只需几步就可以完成。 首先,备份你的~/.valet目录,然后停止正在运行的Valet并将其卸载: valet stop valet uninstall 最后,升级到最…

基于 LaraDock 在 Docker 中快速构建 Laravel 应用系列教程 —— 工具软件使用

1、Artisan命令 首先进入Workspace容器 docker-compose exec workspace bash 然后在Laravel项目目录下运行Artisan命令即可: php artisan list 当然,也可以运行其他PHP命令,如: composer update phpunit 2、PHP相关 安装PHP扩展 安装PHP扩展之前,需要区分PHP-FPM和PHP-…

基于 LaraDock 在 Docker 中快速构建 Laravel 应用系列教程 —— 搭建开发环境

1、开始之前 LaraDock简介 LaraDock致力于简化创建开发环境过程,能够帮你在Docker上快速搭建Laravel应用。 就像Laravel Homestead一样,只不过用Docker替换了Vagrant。它预包装了Docker镜像,为我们提供了一站式的开发环境,而不需要再去在本地机器安装PHP、Nginx、MySQL以及其他任何开发过程中需要的软件。 支持的软件 数据库引…

[ Laravel 5.3 文档 ] 开发环境 —— Laravel Valet

1、简介 Valet是为Mac提供的极简主义开发环境,没有Vagrant、Apache、Nginx,也没有/etc/hosts文件,甚至可以使用本地隧道公开共享你的站点。 在你启动Mac后,Laravel Valet会在后台静默运行Caddy,然后通过使用DnsMasq,Valet将所有请求代理到*.dev域名并指向本地安装的站点目录。这样一个极速的Laravel开发环境只需要占用7M内…

12