Autumn中文文档0:为什么使用Autumn

来源:互联网 发布:小照域名授权系统 编辑:程序博客网 时间:2024/06/05 09:33

项目地址:https://github.com/bit128/autumn

Autumn存在的意义

在实际项目开发中,现有的框架所提供的功能并没有被完全使用,甚至百分之三十的类都用不上。 我静下心来思考其中的缘由,并不是我们的系统不够“复杂”,也不是开发者的技术水平不足,反而我们在框架之上又扩展设计了许多漂亮的模块和子系统。所以,这肯定是存在不合理的设计。

我们设计框架的初衷是什么?答案肯定是为了提升开发效率。那又该怎样设计?当然是在大量重复、可重用的地方做优化。所以,我认为框架的意义是做项目的基石结构。就像是盖房子这样一个简单的道理:混凝土地基、钢筋机构才是真正的“框架”。百分之九十的房子都是基于这个架构的。可在现实中绝大多数的PHP框架不仅提供了结构,更提供了实现方式,已经把每个细节做到了极致。就像是出售的精装修商品房,交付前已经把你不喜欢的牌子电器都布置好了,不管你喜不喜欢他的装修风格。

Autumn框架的出发点是php作者的原话:php代码越接近原生,效率越高。php本身就是解释型语言,不合理的逻辑设计、过多的封装都会导致其性能的下降和理解的困难度。而且现有的框架总是会有不同程度的耦合度,总想设计成全能型框架,可惜实际使用的功能很少。

Autumn存在的意义就是提供最小可运行、高效率、高性能、零耦合的PHP应用框架。核心通过模块化的方式实现依赖注入、单例托管等特性,它完美实现了MVC的分层架构,类Yii的风格实现,可以满足PHP项目对于框架的基础需求。

核心架构图

这里写图片描述

Autumn的设计灵感来源于SpringMVC框架。

Autumn存在一个核心容器,用来托管运行时各种组件模块的实例。Autumn容器负责类的创建、实例化以及整个生命周期的托管。无论是核心库或者扩展库中的模块只要按照一定的标准设计,都可以被无缝注入Autumn核心容器,并在任何地方需要的时候,由Autumn容器提供。

框架运行流程图

这里写图片描述

Autumn是单一入口实现的框架。

  1. 入口文件负责框架核心容器的载入、初始化配置工作。
  2. 核心配置模块首先被Autumn核心容器加载,提供全局的配置属性操作。
  3. 载入路由解析模块,对请求分析解析后,封装成HttpRequest。
  4. MVC模块开始处理居图业务逻辑。
  5. MVC将结果封装成HttpResponse后返回给客户端。
0 0
原创粉丝点击