QueryPHP渐进式PHP常驻框架引擎-PHP

时间:2024-07-10 10:27:20
【文件属性】:

文件名称:QueryPHP渐进式PHP常驻框架引擎-PHP

文件大小:8.62MB

文件格式:ZIP

更新时间:2024-07-10 10:27:20

QueryPHP PHP常驻框架 PHP渐进式协程框架

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 命令行工具集。) 框架常驻 (Leeve


网友评论