ThinkPHP6 核心分析:系统服务
什么是系统服务?系统服务是对于程序要用到的类在使用前先进行类的标识的绑定,以便容器能够对其进行解析(通过服务类的 register 方法),还有就是初始化一些参数、注册路由等(不限于这些操作,主要是看一个类在使用之前的需要,进行一些配置,使用的是服务类的 boot 方法)。以下面要介绍到的 ModelService 为例, ModelService 类提供服务, ModelService 类主要对 Model 类的一些成员变量进行初始化(在 boot 方法中),为后面 Model 类的「出场」布置好「舞台」。 下面先来看看系统自带的服务,看看服务是怎么实现的。 内置服务 系统内置的服务有: ModelService 、 PaginatorService 和 ValidateService 类,我们来看看它们是怎么被注册和初始化的。 在 App::initialize() 有这么一段: 1 foreach ($this->initializers as $initializer) { 2 $this->make($initializer)->init($this); 3 } 这里通过循环 App::initializers 的值,并使用容器类的 make 方法获取每个 $initializer 的实例,然后调用实例对应的 init 方法。 App::initializers