任务调度是什么一个概念呢?其实就是大家的需要后端运行的脚本,比如说我们最早讲过的 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 ,但是现在就已经屈指可数了。
今天学习的内容比较轻松,就讲两个小东西,而且也没什么特别的源码方面的内容。主要也是因为这两个小功能的应用会比较广泛,并且源码实现也非常简单易懂,我就简单的说一下源码大概的位置,大家直接自己看一下就好了。因此,这篇文章也可以看成是本系列教程学习的一个中场休息。
对于我们线上的运行环境来说,经常会有的一种情况就是需要主从分离。关于主从分离有什么好处,怎么配之类的内容不是我们学习框架的重点。但是你要知道的是,Laravel 以及现代化的所有框架都是可以方便地配置主从分离的。
对于模型的探索我们还将继续。上篇文章中,只是简单地通过模型操作了一下数据库,并且学习了一下关联操作的知识。今天,我们继续学习模型中别的一些好玩的东西,不过,我们不会继续深入地学习模型中别的相关技巧。
先来说说 ORM 是什么,不知道有没有不清楚这个概念的小伙伴,反正这里就一道科普一下算了。ORM 的全称是 Obejct Relational Mapping ,翻译过来就是 对象关系映射 ,再说得直白一点,就是用 面向对象 里的对象来 映射 数据库中的数据。
什么是查询构造器?其实就像我们上篇文章中学习过的使用原始 SQL 语句的方式来操作数据库一样,查询构造器这个东西就是在这个原始操作的基础上为我们封装了一系列的接口,能够让我们方便地来操作数据库。或者说,就是像我们很早前自己封装的那种 MySQL 类一样,框架帮我们完成了这一步。
在 PHP 的学习中,数据库,也就是 MySQL 就像它的亲兄弟一样,永远没法分家。同理,在框架中,数据库相关的功能也是所有框架必备的内容。从最早期我们会自己封装一个 MyDB 这种的数据库操作文件,到框架提供一套完整的 CRUD 类,再到现代化的框架中的 ORM ,其基础都是在变着花样的完成数据操作。
中间件是什么?在传统框架的年代,很少会有中间件这个概念。我最早接触这个概念其实是在学习 MySQL 的时候,了解过 MyCat 这类的组件也被称为中间件。既然是中间,那么它就是一个夹在应用和调用中间的东西。
在请求过程中,控制器往往是我们在做业务开发时绕不过的一环。从 MVC 理论的成熟到现代化的开发过程中,控制器一直扮演着重要的角色。可以说,我们可以不要前端(只做接口),可以不要模型(直接读取数据),但控制器却是必不可少的。
Laravel Swoole 设计模式 算法 数据结构 PHP基础 Nginx 压缩 缓存 性能 命名空间 信管师 Redis MySQLi 迅搜 MQ 消息队列 MySQL PHP 谷粒商城 加解密 PDO PHP数据库 时间日期 文件操作 国际化 GD库 图片处理 PHP SPL CURL Composer PHP魔术 PHP框架 ACP 敏捷