咱咱们来解析一下那最近相当火的PHP 框架核心源码这,可算得上近年来超级流行的PHP框架之一在工作当中使用那频率还是蛮高滴。它的功能老全面,框架底层封装思想那叫一个先进,还用上了好多PHP的新特性
它主要是以核心的服务容器为中心,对服务启动作出注册,在使用的时候就注入进去,这样就解耦,而且特别注重代码的组件化和可扩展性的。还提供了门面(也就是外观)模式,这样在开发的时候就能更高大上、更优雅地去调用所需的服务真滴是一款非常值得去研究的PHP框架下面咱具体来分模块拆析下相关内容。
了解重要思想
咱们要先明白框架那些老重要的思想啥叫依赖注入、控制反转、服务容器、服务提供者。其中,依赖注入呢就是在类对象运行时才去引入所依赖的其他服务对象;控制反转则是把对象创建、管理的控制权从代码里转到框架里;服务容器呢能帮咱们更好地组织和管理对象组件;服务提供者主要管对象和服务的注册跟解析。就好比依赖注入和控制反转,好像都是让每个代码模块之间独立性更强了,而服务容器就是个收纳处,服务提供者就像个管家进行服务的管理
熟悉服务容器常用方法
服务容器常用方法还分为服务容器绑定篇和服务容器解析篇。服务容器绑定的时候就像给物件儿找到合适的存放地,将某些服务和要对应的类或者实例啥的进行绑定。而服务容器解析,则相当于从一堆物件儿里找出咱要用的那一个,从服务容器里解析出所需的服务实例。这两个就好比是放东西跟找东西,得熟练才行
解析入口文件 index.php
的入口文件index.php默认一般搁在根目录下的目录。像框架启动时间设置那一块哈:
// 设置框架启动时间(Unix 时间戳)
('', (true));
这就相当于给框架启动安插了个记号,方便之后统计处理啥的时候用上时间数据!后续还会加载启动文件实例化一些核心的应用程序对象啥的
问答部分
问:了解这些重要思想,对使用框架有多大作用
答:那作用可老大懂得依赖注入和控制反转,能让你写的代码独立性更高,耦合度更低,后期改动起来就轻松好多。服务容器和服务提供者,更会让你明白整个框架是怎么组织各种服务对象的,做扩展服务或者修改功能就简单得多
问:服务容器绑定和解析的应用场景有哪些
答:比如说要给框架注入一些自定义的服务实例的时候就会用到绑定,这样之后用这服务实例就方便。解析,一般在代码里需要用到某个服务的时候,就从服务容器里给解析出来。
在我看来框架的核心源码真的值得研究、值得琢磨琢磨!