异步任务异步任务又是什么东西?在我们前面的学习中讲过一个全局变量的问题,当时我们给服务设置了一个 worker_num 属性,这是一个工作者进程的设置。设置了这个参数,然后启动 Swoole ,通过 ps 命令就可以查看到运行的程序多了几个进程。现在,你应该就能明白到了 Worker 其实就是一种子进程
WebSocket服务对于 Web 应用来说,最主流的当然就是我们之前学习过的 Http、TCP、UDP 这一类的应用。但是,最近这些年,特别是 HTML5 成为主流之后,WebSocket 应用日益丰富起来。要知道,之前我们在做后台时,如果要做消息通知之类的应用,全都是使用 JQuery 来进行轮询的
其实在上篇文章中,我们就已经运行起来了一个 Http 服务,也简单地说明了一下使用 Swoole 运行起来的服务与普通的 PHP 开发有什么区别。想必你现在会说这没什么大不了的呀,这些我们的传统开发又不是做不到,而且还更方便一些。在基础篇章中,我们还不会看到 Swoole
在对 Swoole 有一个初步的印象之后,今天我们就来简单地搭建起 Swoole 环境并且运行起一个简单的 Http 服务。大家不用太有压力,今天的内容还没有太多理论方面的东西,一步步地一起把运行环境先准备好,能看到 Swoole 运行起来的效果就可以了。
在Swoole的世界中,你将学习到什么?在接下来的学习中,我们将要接触到的,将是 PHP 扩展中非常出名的一个高大上的框架,那就是 Swoole 。或许你已经在生产环境中使用过了,或许你只是看过官方文档写过几个例子,当然,更有可能你只是听过它的名字。不用太担心,通过我们的学习,你将会掌握到基本的
测试相关的内容其实也不是我的强项,毕竟日常的开发没怎么接触过,但是不讲吧,又总感觉缺少一点什么,所以这一块也只是简单的演示一下,没办法带大家进行更加深入的学习。很神奇吧,工作十来年,没有经历过一个是使用过测试驱动开发的公司,甚至连单元测试在工作中都从来没写过。
广播系统指的是什么呢?在这里我们说有广播系统其实就是配合 WebSocket 实现的即时更新接口。什么意思呢?比如说在你的购物 App 上,如果订单状态发生了变化,比如卖家发货了,那么马上就会收到一条通知信息。当然,App 上使用的不是 WebSocket ,而是不同平台的推送机制
队列相关的应用对于现在的系统开发来说非常常见,不管你是发消息还是应对大流量,队列都是一个非常常用而且非常好用的解决方案。我们自己写队列去实现很多功能其实已经非常方便了,不过 Laravel 也为我们准备好了一套现成的队列系统,直接配置一下就能够方便地使用了。
任务调度是什么一个概念呢?其实就是大家的需要后端运行的脚本,比如说我们最早讲过的 Laravel 中的命令行脚本。本身这些脚本如果需要自动定时执行的话,我们都需要使用 crontab 来操作。其实说白了,crontab 就是一个任务调度的工具。而 Laravel 中也提供了这样的操作。
说到事件,你会想到什么?JS 中的回调函数,按扭的回调事件?没错,这些都是事件的应用。不过在 Laravel 中,事件是一种解耦机制,是 观察者 模式的一种体现。它能够允许你订阅和监听在你的应用中发生的各种事件。最典型的例子,当你操作完订单后,需要发送短信、邮件或者应用内通知的时候
对于一个框架来说,安全体系是非常重要的一环。如果一个框架没有好的安全措施及功能的话,那么这个框架在线上运行的时候多多少少还是会让人不放心的。毕竟各路大佬可能随时都在扫描各个网站的漏洞。之前的各种安全事件可能你不一定经历过,但一定听说过,今天,我们就来看看 Laravel 中的安全相关功能。
这个东西还需要多说?学 PHP 或者任何 Web 开发语言的入门课好不好!既然这么说,那么看来你是没用过 Laravel 自带的 Session 呀,Laravel 的 Session 可不是用得 PHP 默认的那个 Session 哦。
在学习完 Laravel 中的日志处理模块之后,接下来马上就进入到错误和异常的学习中。其实通过之前 PHP 基础相关的学习,我们已经了解到 PHP7 中的大部分错误都已经可能通过异常来进行处理了,而我们的 Laravel 框架,基本全是通过异常来进行处理的。
在之前我们的设计模式相关的系列文章中,已经学习过了门面模式。在设计模式中,门面模式的定义是:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
通过之前的三篇文章,我们已经学习完了服务容器相关的内容,可以说,服务容器就是整个 Laravel 框架的灵魂,从启动的第一步开始就是创建容器并且加载所有的服务对象。而说起管道,其实大家也不会太陌生,在程序开发的世界中,管道模式的应用随处可见
了解了服务容器的原理,要处理的问题,以及 Laravel 中如何使用服务容器以及服务提供者之后,我们就进入到了源码的学习中。其实服务容器的源码还是比较好理解的,毕竟我们已经自己实现过一个简单的服务容器了。在这里,我们也顺便看一下 Laravel 框架启动时的容器加载情况。
我们已经了解了服务容器是个什么东西,也知道了依赖、依赖注入、控制反转以及最终的服务容器的概念和它们要解决的问题。今天,我们就来一起学习一下 Laravel 中的服务容器是怎么使用的,大家一起来看看它是不是和我们上回学习到的服务容器是一样的。
服务容器是 Laravel 非常核心的内容,也可以说是 Laravel 中最引人注目的地方。提到服务容器,就不得不提到一大堆高大上的名词,依赖注入、控制反转、依赖倒置、反射等等。要了解 Laravel 是怎么实现服务容器的,也要先从这些名词入手,我们就一个一个地来看看。
对于早期的 PHP 开发来说,直接输出页面是 PHP 最早称霸 WEB 领域的法宝。不像现在的前后端分离,最早我们开发 PHP 的时候很多情况下都是直接在 HTML 中嵌入 PHP 代码来生成动态网页的。在那个时候,也没有专门的前端这个职位,当时我们的前端一般也会叫做是 “切图仔”
在现代的数据库应用中,Redis 已经占据了很重要的位置。关于 Redis 的优点相信也不用我多说了,快速的内容访问也能够充当缓存数据库来使用。早前几年还有不少的公司在使用 Memcached ,但是现在就已经屈指可数了。