标签:
QueryPHP 是一款现代化的高性能 PHP 7 常驻框架,以工程师用户体验为历史使命,让每一个 PHP 应用都有一个好框架。
百分之百单元测试覆盖直面 Bug 一剑封喉,基于 Zephir 实现框架常驻,依托 Swoole 生态实现业务常驻,此刻未来逐步渐进。我们的愿景是 USE LEEVEL WITH SWOOLE DO BETTER,让您的业务撑起更多的用户服务。
两年重构,只为更好的自己
QueryPHP 基于一款成立于 2010 年的 PHP 框架 DoYouHaoBaby 开发,继承了上一代产品的优秀之处,彻底革新并进行了长达 2 年重构.
在这个基础上,我们引入了 Laravel、Symfony 等框架现代化先进特性,站在巨人的肩膀上保持创新。
#它是如何工作的?
QueryPHP 是一个渐进式 PHP 常驻框架,我们强调的是一个渐进式,它既可以运行在 php-fpm 场景,也可以将框架核心编译成 C 扩展,同时还支持在 swoole 服务中运行。
#运行在 php-fpm 场景或者 PHP 内置 webserver
事实上,QueryPHP 也是一个普通的 PHP 框架,目前最低版本要求 PHP 7.1.3,我们对环境并没有特别的要求。
PHP ^7.1.3
ext-mbstring 字符处理
ext-openssl 加密组件
我们系统依赖的组件可以通过 composer.json 找到,我们提供了大量开箱即用的功能。
~ $ php leevel server
# => Now visite http://127.0.0.1:9527/
上面就是运行在 PHP 内置 webserver 中,也可以用 nginx 搭建站点。
#框架编译成 C 扩展
我们为了更好的性能,为整个 QueryPHP 的核心开发了一套可选的 C 扩展,它不是必须要安装的。
Leevel 是一个开源 PHP C 扩展开发框架,采用 zephir 编写,是为了解决使用框架带来性能下降的经典矛盾,Leevel 是为了解决 QueryPHP 性能而开发,可以与同版本的 QueryPHP 混合使用,将接管 composer 中的 PHP 版本功能。
它是如何做到接管 composer 中的底层核心的呢。
我们访问一个类, composer 根据 psr4 规则去搜索到我们文件而载入,如下的脚本会被载入。
Leevel/Di/Container.php
instance('foo', 'bar');
var_dump($container->make('foo')); // bar
...
如果我们存在一个扩展就提供了这样一个类并随着 PHP 常驻,是不是性能不错,实际上是可以,QueryPHP 选择了 zephir 来实现。
leevel/di/container.zep
实际上会被编译成 C,被最终被编译成 PHP 扩展。
leevel/di/container.zep.c
这样子,不需要修改代码直接提升性能。
#Windows 系统
暂未提供 dll.
#Linux 操作系统
下载源代码.
git clone git@github.com:hunzhiwange/leevel.git
cd ext
编译扩展.
$/path/to/phpize
$./configure --with-php-config=/path/to/php-config
$make && make install
将扩展添加到你的 php.ini, 使用 php -m 查看扩展是否被安装.
extension = leevel.so
#运行在 Swoole 环境中
swoole 的问世对于 PHP 后端来说是一种福音,swoole 4.1 已经开始支持原始 pdo,redis 协程,支持 swoole 势在必行。已经做了一些基础工作,对于第一个版本我们要完善单元测试,所以下一个版本主要支持 swoole。
php leevel swoole:http
WARNING
Swoole 部分在第一个版本被撤下来了,后面回归。
#特性
框架理念 (值得托付的使命感,让每一个 PHP 应用都有一个好框架。)
组件系统 (框架底层由独立的高内聚低耦合组件构成,可以轻松无侵入接入现有系统。)
路由系统 (框架提供 MVC 自动路由并能够智能解析 Restful 请求和基于 OpenApi 3.0 规范的 swagger-php 注解路由,文档路由一步搞定。)
整体解决方案 (框架提供了从缓存、Session、IOC 容器、模板引擎、Ddd ORM 等大量开箱即用的功能,提供了基于 Symfony Console 命令行工具集。)
框架常驻 (Leevel 可选扩展接管底层核心)
业务常驻 (基于 Swoole 4 开发,我们的愿景是少量代码或者无修改,让你的业务撑起更多的用户服务。)
百分之百单元测试覆盖(单元测试一直是国产 PHP 开源项目的痛)
拜师国外现代化框架 (从 Laravel、Symfony 吸收大量特性,也包含其它的框架.)
PHP 7 严格模式 (每一个 PHP 脚本都是 strict_types = 1)
PHP 7 类型提示 (仅可能为每一个方法提供确定的参数类型和返回值类型)
依赖注入 (完整实现,关键 mvc、命令行脚本、事件监听器全部接入 IOC)
领域驱动设计 (在妖怪的 QeePHP 基础上保持创新,提供了 UnitOfWork[事务工作单元]、Repository[仓储]、Specification[查询规约],Entity getter setter[领域实体或叫模型] )
more...
#Todo
QueryPHP 仍然处于开发中,这里有一些目前还不支持、但已经在计划中的特性:
基于 Vue + IView 通用权限系统
完善 Swoole
开发文档
我们欢迎你为 QueryPHP 的开发作出贡献。
#为什么不是...?
#Laravel
Laravel 是一个非常优秀的框架,拥有非常庞大的社区,实际上 QueryPHP 大量吸收了 Laravel 的一些优秀特性。一致依赖 Laravel 性能确实为人诟病,QueryPHP 开发了一个 Leevel 来解决这一部分问题,用 Laravel 没错,QueryPHP 只是其中一个选择。
#Symfony
Symfony 实际上是 PHP 社区事实标准,QueryPHP 底层大量使用 Symfony 的基础组件例如 console、finder 等,Symfony 可以与 QueryPHP 更好地结合。
#ThinkPHP
ThinkPHP 是我最佩服的一个国产 PHP 框架,10 多年来还在持续不断的革新,国内很少有生命力这么久的框架。我在 2010 年就通读了 ThinkPHP 2.0 代码,在后面工作中主要也是使用 ThinkPHP 3 系列,有苦也有乐。加油!
#Phalcon & Yaf
Phalcon 与 Yaf 世界上最快的 PHP 框架,Yaf 很轻,Phalcon 很重,它们都是世界级的框架。
QueryPHP 选择一部分由 PHP 编写,一部分编译成扩选扩展 Leevel。
Leevel 位于 Yaf 和 Phalcon 轻重之间,是一种可选的方案。
加载全部内容
kyphp PHP开发框架 v3.02.05 MB133人下载KYPHP同其它MVC框架一样,保持着简洁的MVC风格,根据您的需求可以使用Controller控制层-view视图层,Controller控制层-model模型层-view视图层。KYPHP支持自定义的目录结构,您可以使用: 项目目录(app)/控制层目录(C) 项目目录(app)/模型层目录(M) 项目目录
下载Laravel Web 应用程序框架 官方版59.36KB110人下载 laravel 9.0是一个具有表达力,优雅语法的Web应用程序框架。我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。Laravel试图通过减轻大多数Web项目中使用的常见任务来减轻开发工作的痛苦。
下载UT框架 正式版898.14KB107人下载 UT框架内置几乎所有关系数据库或非关系数据库的类库,拥有可自定义的模板引擎、语言本地化解析器及各种函数库。轻便简易的开发模式使开发者更容易理解流程、上手开发。使用UT虽然需要PHP基础知识,但更多的是对UT函数方法的调用,这将节省更多的开发时间。
下载CodeIgniter v3.1.0 2.46 MB105人下载CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而优雅的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。如果你是一个使用共享主机,并且为客户所要求的期限而烦恼的开发人员,如果你已经厌倦了那些傻大笨粗的框架 CodeIgniter 是为
下载PhalApi开源接口框架 官方版5.18MB104人下载PhalApi框架简称π框架(派框架),一个轻量级PHP开源接口框架,配套运营管理平台,专注于接口服务开发,支持HTTP/SOAP/RPC协议,拥有自动生成的在线文档、多种开发语言的客户端SDK包以及可重用的扩展类库,可用于快速搭建微服务、RESTful接口或Web Services。PhalApi框架 更新日志:v2.17.2[BUG修复]1、SQL记录,只提取部分必要的参数,避免全部记录
下载LaravelWeb应用程序框架59.03KB104人下载laravel 9.0是一个具有表达力,优雅语法的Web应用程序框架。我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。Laravel试图通过减轻大多数Web项目中使用的常见任务来减轻开发工作的痛苦。特点:简单,快速的路由引擎。强大的依赖注入容器。用于会话和缓存存储的多个后端。数据库不可知方案迁移。强大的后台作业处理能力。实时事件广播。Laravel易于访问,功能强大,可提供大型
下载DolphinPHP快速开发框架 v1.3.217.74 MB103人下载DophinPHP(海豚PHP)是一个基于ThinkPHP5.0.3开发的开源PHP快速开发框架,秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机制,集成多种灵活快速构建工具,可
下载84PHP 开源框架 v1.2.22.14 MB103人下载84PHP是一套完全遵守APACHE开源协议的便捷PHP框架,独特的模块化设计,使得框架简洁易懂。 一行代码即可完成在线支付、发送短信、分页等功能,前所未有的简单和高效! 同时,84PHP还
下载LaravelWeb应用程序框架59.59KB103人下载laravel框架是一个具有表达力,优雅语法的Web应用程序框架。我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。Laravel试图通过减轻大多数Web项目中使用的常见任务来减轻开发工作的痛苦。特点:简单,快速的路由引擎。强大的依赖注入容器。用于会话和缓存存储的多个后端。数据库不可知方案迁移。强大的后台作业处理能力。实时事件广播。Laravel易于访问,功能强大,可提供大型,强
下载swoft 微服务框架246KB102人下载Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。Swoft 通过长达三年的积累和方向的探索,
下载