QeePHP 的架构模式
程序员文章站
2022-03-17 17:16:16
...
首先贴一段来自 QeePHP
官网的说明文字。
官网的说明文字。
引用
QeePHP 是一个与众不同的框架。
QeePHP遵循“内核最小化,功能插件化”的原则,利用内核实现了一个快速、可扩展的架构。然后在核心之外,通过各种插件提供不同类型的基础服务。
这种架构模式的优势:
这种架构唯一的劣势可以说是传统保守思想的阻力,就像还有不少PHP 开发者认为框架不值得使用一样。采用“内核+扩展”架构的 PHP 框架虽然目前只有 QeePHP一个。但在 PHP之外的世界中,这种架构模式早已成为发展方向。
Linux
就是最典型的案例,其“内核+扩展功能”的架构为无数的Linux 发行版奠定了基础。并且让 Linux可以顺畅运行在各种硬件环境中,这在传统架构软件中是不可想象的。因此即便是
Windows 7 也顺应发展趋势,采用了类似的架构。
而在 Web 应用开发框架中,Java世界早就普及了多层分离的架构模式。以快速开发引领 Web世界革命的 Ruby on Rails 框架也将在第三版和 Merb进行合并,合并后也是“内核+扩展”的架构模式。这不但证明了这种架构模式的可行性,也是说明这种架构模式是未来的发展方向。我们相信 QeePHP 的架构模式会经受住时间和用户的考验,证明其具备出色的性能、可靠性和扩展能力。
主要特征
QeePHP 具备下列特征:
QeePHP遵循“内核最小化,功能插件化”的原则,利用内核实现了一个快速、可扩展的架构。然后在核心之外,通过各种插件提供不同类型的基础服务。
这种架构模式的优势:
- 小巧的内核保证了性能,不会因为将各种功能添加到内核中导致框架出现性能问题
- 具有优秀的可扩展能力和灵活性,而且外围功能的发展不会影响到框架核心
- 由于各种功能都是插件,开发者可以按照应用程序的需求来选择不同的功能组合
- 由于核心和外围功能是分离的,框架和应用程序的稳定性和可靠性都能得到保证,不会因为某个功能的问题影响到整个框架和应用
这种架构唯一的劣势可以说是传统保守思想的阻力,就像还有不少PHP 开发者认为框架不值得使用一样。采用“内核+扩展”架构的 PHP 框架虽然目前只有 QeePHP一个。但在 PHP之外的世界中,这种架构模式早已成为发展方向。
Linux
就是最典型的案例,其“内核+扩展功能”的架构为无数的Linux 发行版奠定了基础。并且让 Linux可以顺畅运行在各种硬件环境中,这在传统架构软件中是不可想象的。因此即便是
Windows 7 也顺应发展趋势,采用了类似的架构。
而在 Web 应用开发框架中,Java世界早就普及了多层分离的架构模式。以快速开发引领 Web世界革命的 Ruby on Rails 框架也将在第三版和 Merb进行合并,合并后也是“内核+扩展”的架构模式。这不但证明了这种架构模式的可行性,也是说明这种架构模式是未来的发展方向。我们相信 QeePHP 的架构模式会经受住时间和用户的考验,证明其具备出色的性能、可靠性和扩展能力。
主要特征
QeePHP 具备下列特征:
内核+扩展架构设计
:性能、灵活性和扩展能力的完美解决方案。
高级ORM(对象关系映射)
:为创建真正的面向对象应用提供了支持。在面向对象应用中,如何处理对象及对象关系的持久化,对 PHP 来说是一项艰巨的任务。QeePHP 采用了“模型元对象”设计来实现全功能的 ORM 系统。每一个业务对象不但可以轻松完成持久化操作,对象间的关系也可以由 QeePHP ORM 系统来自动维护。更出色的是 QeePHP 的 ORM 允许开发者全方位的定制对象的属性、方法、事件,以及行为来满足各种业务需求。
灵活的表单模型设计思想
:实现了数据、行为与表现的分离与协作。
表单是应用程序获得用户输入的主要手段之一。过去有过各种各样的表单解决方案,但不管采用何种方式,这些解决方案都没有实现表单数据、行为与表现的彻底分离和协作。QeePHP
的表单模式让开发者可以很轻松的创建大量表单,并将这些表单和业务对象关联起来,再配合表单视图来实现同一个表单多种表现形式、多个表单保持一致外观的目标。应用程序中的表单越多,QeePHP 的表单模型能够创造的价值就越高。
URL 路由双向解析
:赋予应用程序构造 URL的无穷灵活性。不管是从提高用户体验,还是增强 SEO 的角度考虑,为应用程序提供定制 URL 的能力都是必需的。QeePHP 独有的 URL路由双向解析让开发者仅仅修改配置文件就能实现对应用程序 URL 的调整。而且出色的适应性让 QeePHP 应用可以根据运行环境采用不同的 URL风格,最大程度的提高应用的环境适应性。
用户界面组件化
:让开发者可以构造模块化的用户界面,极大的减小工作量。将面向对象的思想引入用户界面后,构造现代 Web应用的用户界面就变得易如反掌了。页面上任何独立或重复出现的区域都可以封装为一个单独的组件,并且做到和其他部分的完全解耦。再结合视图继承、区块、片段等手段,构建任何复杂度的用户界面都不是问题。
Web 界面开发工具
:将重复劳动削减至最低程度。