内容简介:QueryPHP 是一款现代化的高性能 PHP 7 常驻框架,以工程师用户体验为历史使命,让每一个 PHP 应用都有一个好框架。百分之百单元测试覆盖直面 Bug 一剑封喉,基于 Zephir 实现框架常驻,依托 Swoole 生态实现业务常驻,此刻未来逐步渐进。 我们的愿景是
QueryPHP 渐进式 PHP 常驻框架引擎
QueryPHP 是一款现代化的高性能 PHP 7 常驻框架,以工程师用户体验为历史使命,让每一个 PHP 应用都有一个好框架。
百分之百单元测试覆盖直面 Bug 一剑封喉,基于 Zephir 实现框架常驻,依托 Swoole 生态实现业务常驻,此刻未来逐步渐进。 我们的愿景是 USE LEEVEL WITH SWOOLE DO BETTER , 让您的业务撑起更多的用户服务。
# 特性
-
框架理念 (值得托付的使命感,让每一个 PHP 应用都有一个好框架。)
-
组件系统 ( 框架底层由独立的高内聚低耦合组件构成,可以轻松无侵入接入现有系统。 )
-
路由系统 ( 框架提供 MVC 自动路由并能够智能解析 Restful 请求和基于 OpenApi 3.0 规范的 swagger-php 注解路由,文档路由一步搞定。 )
-
整体解决方案 (框架提供了从缓存、Session、IOC 容器、模板引擎、Ddd ORM 等大量开箱即用的功能,提供了基于 Symfony Console 命令行 工具 集。)
-
框架常驻 ( Leevel 可选扩展接管底层核心 )
-
业务常驻 (基于 Swoole 4 开发,我们的愿景是少量代码或者无修改,让你的业务撑起更多的用户服务。)
-
百分之百单元测试覆盖( 单元测试一直是国产 PHP 开源项目的痛 )
-
PHP 7 严格模式 (每一个 PHP 脚本都是 strict_types = 1)
-
PHP 7 类型提示 (尽可能为每一个方法提供确定的参数类型和返回值类型)
-
依赖注入 (完整实现,关键 mvc、命令行脚本、事件监听器全部接入 IOC)
-
领域驱动设计 (在妖怪的 QeePHP 基础上保持创新,提供了 UnitOfWork[事务工作单元]、Repository[仓储]、Specification[查询规约],Entity getter setter[领域实体或叫模型] )
-
more...
更新日志
距离上一个版本有一个月了,这个我们的 hunzhiwange/framework 已有 94 条跟新日志,hunzhiwange/queryphp 已有 150 条日志,这个版本主要支持一个 IViewUI 开发的通用权限系统。
-
修复模型实体更新 replace 的错误
-
修复数据库单元测试没有很好的释放连接造成的本地跑单元测试 mysql gone away
-
更好地支持单元测试
-
加入断线重连,支持最高 3 次重连
-
优化仓储查询对分页的友好支持
-
修正一处集合的 BUG
-
完善 Leevel\Support\Type 返回值类型
-
Restful 路由没有参数时为首页 index 而不是 show
-
删除兼容获取 pathInfo 的获取方法 ?_url=xx,由 Nginx 可以做到
-
对 axios 等前端提交类型 application/json 时自动处理表单数据
-
加入一个环境变量 RUNTIME_ENVIRONMENT,利于更好地处理单元测试载入不同的配置文件
-
领域实体加入 ENUM 支持
-
... 更新太多不一一说明了。
金字招牌,百分之百单元测试覆盖
QueryPHP 拥有 6.5 万行源代码,单元测试代码为 75000行,当然包含注释和空格,拥有 2829 条测试用例和 9245 条断言,充分的单元测试保证了我们代码的稳定性和质量。
QueryPHP 其中一个使命就是单元测试带入的企业开发,以及给同行抛砖引玉,促进共同进步。
Test and Deploy Your Code with Confidence
==> ...View\Compiler\CompilerForTest ✓ ✓ ✓ ✓ ✓ ✓ ==> ...\View\Compiler\CompilerIfTest ✓ ==> ...\Compiler\CompilerIncludeTest ✓ ==> ...iew\Compiler\CompilerListTest ✓ ==> ...ew\Compiler\CompilerListsTest ✓ ✓ ✓ ==> ...ompilerPairedTagExceptionTest ✓ ✓ ✓ ✓ ✓ ==> ...View\Compiler\CompilerPhpTest ✓ ==> ...ew\Compiler\CompilerQuickTest ✓ ==> ...\Compiler\CompilerTagselfTest ✓ ==> ...View\Compiler\CompilerVarTest ✓ ✓ ✓ ✓ ✓ ==> ...ew\Compiler\CompilerWhileTest ✓ ==> Tests\View\HtmlTest ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ==> Tests\View\ManagerTest ✓ ==> Tests\View\PhpuiTest ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ==> Tests\View\Provider\RegisterTest ✓ ==> Tests\View\TwigTest ✓ ✓ ✓ ✓ ==> Tests\View\V8jsTest → → → → → → → → → Time: 1.32 minutes, Memory: 84.00MB OK, but incomplete, skipped, or risky tests! Tests: 2829, Assertions: 9245, Skipped: 9. Generating code coverage report in Clover XML format ... done
为什么要特别强调单元测试,这是国内一个 PHP 轮子普遍的一个非常大的痛点,欧美国家的轮子做得非常不错,片面追求功能炫酷吊炸天,外强中干。
在早年的时候,我也从来不写单元测试觉得没什么用。做好一个功能,在控制器去调用一下,测试一哈是否正常,正常则通过。随着时间的流逝,这个控制器中的代码会被删除而丢失,当我们添加一个新功能或者修改已有的功能,分分钟改挂以前的功能,造成 bug 无穷无尽。
单元测试的好处
-
软件质量最简单、最有效的保证;
-
是目标代码最清晰、最有效的文档;
-
可以优化目标代码的设计;
-
是代码重构的保障;
-
是回归测试和持续集成的基石。
QueryPHP 在未来将加大力度提供更重的单元测试彻底消灭低级 BUG,为中国创业提供公司提供稳定的 WEB 框架。
如何安装
基本使用
composer create-project hunzhiwange/queryphp myapp dev-master
打开浏览器访问
php leevel server <Visite http://127.0.0.1:9527/>
-
Mvc restful 路由 http://127.0.0.1:9527/restful/123
-
指定方法的 Mvc restful 路由 http://127.0.0.1:9527/restful/123/show
-
注解路由 http://127.0.0.1:9527/api/v1/petLeevelForApi/helloworld
-
php leevel link:public http://127.0.0.1:9527/public/css/page.css
-
php leevel link:storage http://127.0.0.1:9527/storage/logo.png
-
php leevel link:apis http://127.0.0.1:9527/apis/
-
php leevel link:debugbar http://127.0.0.1:9527/debugbar/debugbar.css
连接数据库
首先创建一个数据库.
CREATE DATABASE IF NOT EXISTS myapp DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
修改 .env
vim .env ... // Database DATABASE_DRIVER = mysql DATABASE_HOST = 127.0.0.1 DATABASE_PORT = 3306 DATABASE_NAME = queryphp_development_db DATABASE_USER = root DATABASE_PASSWORD = ... to ... // Database DATABASE_DRIVER = mysql DATABASE_HOST = 127.0.0.1 DATABASE_PORT = 3306 DATABASE_NAME = myapp DATABASE_USER = root DATABASE_PASSWORD = 123456 ...
执行数据库迁移命令
php leevel migrate:migrate php leevel server
测试连接数据库
http://127.0.0.1:9527/api/entity
{
count: 4,
:trace: {
...
}
}
登陆到 QueryVue 后台
安装前端
第一步安装前端,细节信息可以在 frontend/README.md 查看.
cd frontend npm install -g cnpm --registry=https://registry.npm.taobao.org // Just once cnpm install npm run serve # npm run dev
登陆后台
接着访问这个登陆地址. http://127.0.0.1:9528/#/login
user: admin password: 123456
后台首页
红色主题的资源列表
以上所述就是小编给大家介绍的《QueryPHP 1.0.0-alpha.2 发布,新增 IViewUI 通用后台权限系统》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 后台管理系统若依 1.0.9 发布,新增定时任务
- 后台权限管理系统 FEBS 新增 Spring Security 版
- 后台权限管理系统 FEBS 新增 Spring Security 版
- 组件式后台服务 goserver 0.2 发布,新增 Lua 支持
- 若依后台管理系统 1.1.1 发布,新增表单构建器
- 飞特商城后台管理系统 1.0 发布,功能新增和改进
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Spring Into HTML and CSS
Molly E. Holzschlag / Addison-Wesley Professional / 2005-5-2 / USD 34.99
The fastest route to true HTML/CSS mastery! Need to build a web site? Or update one? Or just create some effective new web content? Maybe you just need to update your skills, do the job better. Welco......一起来看看 《Spring Into HTML and CSS》 这本书的介绍吧!
RGB转16进制工具
RGB HEX 互转工具
图片转BASE64编码
在线图片转Base64编码工具