search
Homephp教程php手册新一代 PHP 框架 QeePHP 发布
新一代 PHP 框架 QeePHP 发布Jun 06, 2016 pm 07:56 PM
phpWhyreleasenew generationframechoose

为什么选择 QeePHP 回顾一下曾经开发过的 PHP应用,大部分开发者都会发现这些应用中,数据的创建、读

为什么选择 QeePHP

回顾一下曾经开发过的 PHP 应用,大部分开发者都会发现这些应用中,数据的创建、读取、更新和删除操作是重复最多次的操作。但是不管我们如何简化这些 CRUD(创建、读取、更新、删除)操作,面对客户不断变化的需求,应用程序的内在结构总是逐渐变得凌乱。

而造成这种情况的根本原因就是我们没有正确使用面向对象的技术来设计和实现这些应用程序。由于业务逻辑固有的复杂性被所谓的 CRUD 快速开发能力所掩盖。本应是内聚的业务逻辑却拆散为一个个 CRUD 操作,分散到了应用程序的不同部分。如此一来,业务逻辑的变化必然会导致应用程序内部产生连锁反应式的改动,应用程序内在结构的逐渐腐朽变成了不可逆转的趋势。

更具挑战性的任务

随着 PHP 越来越多的应用在大型 Web 应用中,如何构造这些复杂应用已经成了一项挑战。下图是一位开发者通过反向工程获得的 Facebook 对象关系图 。虽然这张图并不完全准确,而且也有许多简化,但可以看出对象间仍然存在复杂的关系。对于这种应用,传统的 CRUD 操作根本不可能胜任。

新一代 PHP 框架 QeePHP 发布

Facebook 对象关系图

正是因为多年 PHP 开发的经验教训,以及面对复杂应用时的捉襟见肘,让我们下定决心改变现状。将“领域驱动设计”引入到 PHP 世界中。

领域驱动设计

“领域驱动设计”由 Eric Evans 于 2003 出版的《Domain-Driven Design: Tackling Complexity in the Heart of Software》(国内译名: 领域驱动设计–软件核心复杂性应对之道 )一书中进行全面阐述。“领域驱动设计”回归了面向对象思想的本质,提出了一系列创建面向对象应用程序的指导原则,以及实践这些原则的设计模式和解决方案。

可惜的是虽然已经经过了 5 年时间,但领域驱动在 PHP 世界并没有引起大的反响,因为大多数 PHP 开发者已经习惯了编写那些“一次性”的代码。即便是各种 PHP 开发框架的出现,也没有改变这种状况。造成困境的根本原因,并不在于 PHP 语言本身的限制,而是使用 PHP 开发的 Web 应用直到今天才逐步发展为具有高度内在复杂性的软件系统。正所谓没有需求就没有市场,在大多数 PHP 应用都很简单的情况下,领域驱动这样一种需要从思想上进行改变的开发模式自然难以在 PHP 世界中流行。

但市场已经发生了变化,今天的用户要求我们能够更快更好的创建高质量的应用程序,改变传统 PHP 开发模式的时机已经完全成熟。

新希望 —— QeePHP

QeePHP 是一个遵循“领域驱动设计”思想设计和实现的 PHP 开发框架。在保持易学易用、快速稳定的同时,QeePHP 为创建具有复杂内在逻辑的 Web 应用提供了全面的支持。

“领域驱动设计”是一种设计和架构思想,以“模型”为核心,将业务逻辑封装到一个个内聚的模型之中,从而避免业务逻辑被分散到应用程序的各个部分。 这样一来,不管是增加了新的业务需求还是已有需求的改变,我们都能够将修改局限在一个相对较小的范围。从根本上避免了需求快速更新导致应用程序内在结构逐 渐腐朽的问题。

由于“领域驱动设计”的思想基础就是“模型”,所以框架必须为“模型”的定义、封装、持久化,以及模型关系的维护和扩展提供良好支持。QeePHP 实现了完善的 ORM(对象关系映射)系统,能够应付各种复杂的业务需求。利用 QeePHP 提供的帮助,开发者可以将精力放到如何完成“业务逻辑”之上,而不是不断的重复 CRUD 操作。

 

更进一步,QeePHP 提供了灵活的视图机制,让开发者可以轻松完成用户界面组件化工作,为高效开发奠定了基础。除此以外,QeePHP 的表单模型、用户界面控件、可扩展内核架构,都是构建复杂应用程序不可或缺的强力工具。

除了技术上的创新,QeePHP 还凝聚了 起源科技 团队及社区超过 5 年的框架设计和开发经验。无论是易用性、可靠性、运行性能还是扩展能力,QeePHP 都达到了当今 PHP 开发框架的极致。

最后,我们想说经过近两年的开发,QeePHP 已经为实践“领域驱动设计”做好了准备、为开发复杂应用提供了一个坚实的基础。我们坚信,随着 PHP 开发者面对的需求越来越困难,QeePHP 开源开发框架及其背后的思想必定会为大家所了解、信任与采用。

 

 

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么读取字符串后几个字符php怎么读取字符串后几个字符Apr 22, 2022 pm 08:31 PM

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment