【Swoole系列1】在Swoole的世界中,你将学习到什么? 在Swoole的世界中,你将学习到什么?在接下来的学习中,我们将要接触到的,将是 PHP 扩展中非常出名的一个高大上的框架,那就是 Swoole 。或许你已经在生产环境中使用过了,或许你只是看过官方文档写过几个例子,当然,更有可能你只是听过它的名字。不用太担心,通过我们的学习,你将会掌握到基本的 Swoole 开发知识,一些计算机操作系统以及网络的简单知识,以及一个非常类...
【Laravel系列8】走出 Laravel 的世界 走出 Laravel 的世界还记得这个系列的第一篇文章是什么吗?当时我们写的是《进入Laravel的世界》。照理说,学习完了,日常应用更得心应手了,我们为啥又要走出呢?又是一个新的开始对于我们的人生来说,就是在不断地进行着开始与结束的循环。在开始的时候,我们走进 Laravel 的世界。从头到尾并没有很深入的讲解每一个功能的使用,这些内容讲的教程太多了,通常我们只是简单地...
【Laravel系列7.9】测试 测试测试相关的内容其实也不是我的强项,毕竟日常的开发就没怎么接触过,但是不讲吧,又总感觉缺少一点什么,所以这一块也只是简单的演示一下,没办法带大家进行更加深入的学习。很神奇吧,工作十来年,没有经历过一个是使用过测试驱动开发的公司,甚至连单元测试在工作中都从来没写过。测试的好处自然不用多说,道听途说也了解过测试驱动开发的种种好处,也期望在后续的工作中能够应用上。在这里,也希...
【Laravel系列7.8】广播系统 广播系统广播系统指的是什么呢?在这里我们说的广播系统其实就是配合 WebSocket 实现的即时更新接口。什么意思呢?比如说在你的购物 App 上,如果订单状态发生了变化,比如卖家发货了,那么马上就会收到一条通知信息。当然,App 上使用的不是 WebSocket ,而是不同平台的推送机制,但它也是一种广播通知机制。如果你对 Redis 比较了解的话,也可以这么理解:它和...
【Laravel系列7.7】队列系统 队列系统队列相关的应用对于现在的系统开发来说非常常见,不管你是发消息还是应对大流量,队列都是一个非常常用而且非常好用的解决方案。我们自己写队列去实现很多功能其实已经非常方便了,不过 Laravel 也为我们准备好了一套现成的队列系统,直接配置一下就能够方便地使用了。今天,我们就来学习了解一下 Laravel 中队列系统相关的内容。配置队列的配置非常简单,在 config ...
【Laravel系列7.6】任务调度 任务调度任务调度是什么一个概念呢?其实就是可以自动定时去运行大家需要后端运行的脚本,比如说我们最早讲过的 Laravel 中的命令行脚本。本身这些脚本如果需要定时执行的话,我们都需要使用 crontab 来操作。crontab 就是一个任务调度的工具,但它是操作系统上层面的,或者说是操作系统上的一个工具。如果有多个脚本需要执行,那么我们就要写多个定时脚本的配置。而 Lar...
【Laravel系列7.5】事件系统 事件系统说到事件,你会想到什么?JS 中的回调函数,按扭的回调事件?没错,这些都是事件的应用。不过在 Laravel 中,事件是一种解耦机制,是 观察者 模式的一种体现。它能够允许你订阅和监听在你的应用中发生的各种事件。最典型的例子,当你操作完订单后,需要发送短信、邮件或者应用内通知的时候,我们一般就会使用观察者模式来实现。而事件,则是对这一操作的封装,非常方便好用。注册...
【Laravel系列7.4】安全相关 安全相关对于一个框架来说,安全体系是非常重要的一环。如果一个框架没有好的安全措施及功能的话,那么这个框架在线上运行的时候多多少少还是会让人不放心的,毕竟各路大佬可能随时都在扫描各个网站的漏洞。之前的各种安全事件可能你不一定经历过,但一定听说过。今天,我们就来看看 Laravel 中的安全相关功能。认证体系在 Laravel 中,自带了一套用户登录认证体系,这一套体系原来是...
【Laravel系列7.3】Session与响应 Session与响应Session 这个东西还需要多说?学 PHP 或者任何 Web 开发语言的入门课好不好!既然这么说,那么看来你是没用过 Laravel 自带的 Session 呀,Laravel 的 Session 可不是用得 PHP 默认的那个 Session 哦。今天我们就来一起看看 Laravel 自己实现的这个 Session 是啥样的。另外,请求流程我们在...
【Laravel系列7.2】错误与异常处理 错误与异常处理在学习完 Laravel 中的日志处理模块之后,接下来马上就进入到错误和异常的学习中。其实通过之前 PHP 基础相关的学习,我们已经了解到 PHP7 中的大部分错误都已经可以通过异常来进行处理了,而我们的 Laravel 框架,基本全是通过异常来进行处理的。如果没有看过之前的文章或者视频,可以回去再看一下,链接在文章底部,因为关于错误和异常有三篇文章。产生错...
【Laravel系列7.1】日志 日志对于一个框架系统来说,日志和异常处理可以说是非常重要的一个功能组件。我们的项目不管大还是小,对于错误异常都应该是零容忍的状态。异常处理机制可以帮助我们及时发现问题,并且将问题记录到日志中。而日志可以帮助我们掌握系统的运行情况,查找问题原因。总之,日志和异常处理是在系统的运维状态中非常重要的两个功能。日志记录Laravel 中的日志功能的使用非常简单,我们前面讲过的门面...
【Laravel系列6.5】门面模式 门面模式在之前我们的设计模式相关的系列文章中,已经学习过了门面模式。在设计模式中,门面模式的定义是:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。当时我们也实现了自己的设计模式,不记得的小伙伴欢迎移步PHP设计模式-门面模式https://mp.weixin.qq.com/s/RzCoM96XnlT610...
【Laravel系列6.4】管道过滤器 管道过滤器通过之前的三篇文章,我们已经学习完了服务容器相关的内容,可以说,服务容器就是整个 Laravel 框架的灵魂,从启动的第一步开始就是创建容器并且加载所有的服务对象。而说起管道,其实大家也不会太陌生,在程序开发的世界中,管道模式的应用随处可见,同样在 Laravel 框架中,它也是核心一般的存在。甚至可以说,管道和服务容器的组合,才让我们有了一个这样的框架可以使用...
【Laravel系列6.3】框架启动与服务容器源码 框架启动与服务容器源码了解了服务容器的原理,要处理的问题,以及 Laravel 中如何使用服务容器以及服务提供者之后,我们就进入到了源码的学习中。其实服务容器的源码还是比较好理解的,毕竟我们已经自己实现过一个简单的服务容器了。在这里,我们也顺便看一下 Laravel 框架启动时的容器加载情况。框架启动通过之前的学习,我们已经了解到 Laravel 是单一入口文件的框架。所...
【Laravel系列6.2】Laravel中的服务容器 Laravel中的服务容器我们已经了解了服务容器是个什么东西,也知道了依赖、依赖注入、控制反转以及最终的服务容器的概念和它们要解决的问题。今天,我们就来一起学习一下 Laravel 中的服务容器是怎么使用的,大家一起来看看它是不是和我们上回学习到的服务容器是一样的。使用 Laravel 中的服务容器在 Laravel 中使用服务容器非常简单,我们首先还是定义那几个测试的类...
【Laravel系列6.1】服务容器简介 服务容器简介服务容器是 Laravel 非常核心的内容,也可以说是 Laravel 中最引人注目的地方。提到服务容器,就不得不提到一大堆高大上的名词,依赖注入、控制反转、依赖倒置、反射等等。要了解 Laravel 是怎么实现服务容器的,也要先从这些名词入手,我们就一个一个地来看看。依赖、依赖注入与控制反转依赖,指的是一个类 A 的变化会引起另一个类 B 的变化,我们就说这...
【Laravel系列5.1】Blade模板开发 Blade模板开发对于早期的 PHP 开发来说,直接输出页面是 PHP 最早称霸 WEB 领域的法宝。不像现在的前后端分离,最早我们开发 PHP 的时候很多情况下都是直接在 HTML 中嵌入 PHP 代码来生成动态网页的。在那个时候,也没有专门的前端这个职位,当时我们的前端一般也会叫做是 “切图仔” 。当他们把设计给的分层 PSD 切成静态页面之后,就会直接把这些静态 H...
【敏捷8】结束其实是另一个新的开始 结束其实是另一个新的开始恭喜大家,当然也要一起恭喜我自己,又是一个大型的连载系列完成了。视频还在继续更新中。前前后后差不多也有半年时间,对比技术类的文章来说,项目管理这类理论学科的内容其实会更难写一些。一是篇幅不像技术类的文章好凑,贴几段代码文章就会显得很长;二呢也是需要参考很多的资料,比如我们每篇文章下面的那几本参考资料,基本都是一起在看的,找出其中一点然后在写文章的时...
【Laravel系列4.7】连接redis以及缓存应用 连接redis以及缓存应用在现代的数据库应用中,Redis 已经占据了很重要的位置。关于 Redis 的优点相信也不用我多说了,快速的内容访问也能够充当缓存数据库来使用。早前几年还有不少的公司在使用 Memcached ,但是现在就已经屈指可数了。毕竟在同样的功能下,Redis 拥有更多的数据类型,也能适应更多的场景。Laravel 也是可以完美支持 Memcached ...
【敏捷7.3】缺陷、质量与失败模式 缺陷、质量与失败模式在学习完风险、问题之后,我们再继续学习一个简单的内容,是和 QA 有关的缺陷、质量方面的内容。关于这一点,又要搬出 PMP 了。在 PMP 中,质量管理也是一个非常重要而且非常大的章节。是范围、成本、进度三大知识领域外最最重要的一个知识领域。还记得在开篇文章中我们讲过 PMP 有个铁三角吗?在这里,我们把敏捷三角也给出来了。在敏捷中,质量是三角形的一个...