关于 Swoft

Swoft 是基于 Swoole 企业的 PHP 最流行的应用程序开发框架。目前有大量的开发人员使用Swoft Framework创建高性能,易于测试和可重用的代码。

Swoft 开源框架自2018年3月6号发布以来,一直在迭代升级,秉承简单、高效、稳定的宗旨。伴随着 1.x 的开发迭代和 Swoole 4 全协程化,1.x 的底层架构已经不再适合现。从2018年11月开始规划 2.x, 底层借鉴 1.x 的经验全部重写,采用 Swoole hook 方式框架全部协程化,框架整体相比 1.x 更简单,稳定性也提升一个档次。

Swoft 是一款轻量级的框架,所有组件可以自定义,按需使用。

Swoft 框架可以用于开发任何 Web 应用程序,构建高性能的 Web 系统、API、中间件、基础服务等等。

Swoft 优势

以下是使用Swoft Framework 的很多好处的列表

  • 以组件化方式开发,开发者可以自定义,按需加载使用。
  • 框架是一个设计良好的 Web MVC 框架,它为 Web 框架提供了一个很好的选择。
  • 为方便 PHP 开发者快速上手,数据库、缓存的使用都高度兼容 Laravel。
  • 所有组件都严格加上单元测试和压力测试

注解 (Annotation)

Swoft 是首个基于 Swoole 的注解框架,注解思想大量参考 spring boot, 在它之上进行简化,设计成更适合 phper 开发,使用更简单。

依赖注入(DI)

Swoft 最认同的技术是控制反转的依赖注入(DI)。该控制反转(IOC)是一个笼统的概念,它可以在许多不同的方式来表达。依赖注入仅仅是控制反转的一个具体例子。

在编写复杂的 PHP 应用程序时,应用程序类应尽可能独立于其他 PHP 类,以增加重用这些类的可能性,并在单元测试时独立于其他类测试它们。依赖注入有助于将这些类粘合在一起,同时保持它们独立。

完全依赖注入是什么?我们分别看这两个词。这里依赖部分转化为两个类之间的关联。例如,A类依赖于B类。现在,我们来看第二部分,注入。所有这些意思是,B类将被IoC注入A类。

依赖注入可以通过将参数传递给构造函数或通过使用setter方法进行后置构造来实现。由于依赖注入是 Swoft 框架的核心,我们将在相关示例的单独章节中解释这个概念。

连接池 (Pool)

依托于 Swoole 框架自带连接池,提供简单配置就可以使用,无效任何其它成本。

RPC

框架封装了一套高性能的 RPC 服务,每个 RPC 调用可以像本地函数一样使用,服务之间通过接口的方式约定规则,完全屏蔽实现细节,大大提升了开发效率,减少了维护成本。

面向方面编程(AOP)

Swoft的关键组件之一是面向方面编程(AOP)框架。跨越应用程序多个点的功能称为横切关注点,这些横切关注点在概念上与应用程序的业务逻辑分离。有各种常见的很好的例子,包括日志记录,声明式事务,安全性,缓存等等。

OOP中模块化的关键单元是类,而在AOP中,模块化的单元是方面。DI可帮助您将应用程序对象彼此分离,而AOP可帮助您将交叉关注与其影响的对象分离开来。

Swoft框架的AOP模块提供了一种面向方面的编程实现,允许您定义方法拦截器和切入点,以干净地分离实现应该分离的功能的代码。我们将在单独的章节中更多地讨论Swoft AOP概念。