QueryPHP 1.0.0-alpha.2 发布,新增 IViewUI 通用后台权限系统

doyouhaobaby
 doyouhaobaby
发布于 2018年12月11日
收藏 29

QueryPHP 渐进式 PHP 常驻框架引擎

QueryPHP 是一款现代化的高性能 PHP 7 常驻框架,以工程师用户体验为历史使命,让每一个 PHP 应用都有一个好框架。

百分之百单元测试覆盖直面 Bug 一剑封喉,基于 Zephir 实现框架常驻,依托 Swoole 生态实现业务常驻,此刻未来逐步渐进。 我们的愿景是 USE LEEVEL WITH SWOOLE DO BETTER, 让您的业务撑起更多的用户服务。 

#特性

 

更新日志

距离上一个版本有一个月了,这个我们的 hunzhiwange/framework 已有 94 条跟新日志,hunzhiwange/queryphp 已有 150 条日志,这个版本主要支持一个 IViewUI 开发的通用权限系统。

hunzhiwange/framework

hunzhiwange/queryphp

 

  • 修复模型实体更新 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/>

连接数据库

首先创建一个数据库.

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

后台首页

 

红色主题的资源列表

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:QueryPHP 1.0.0-alpha.2 发布,新增 IViewUI 通用后台权限系统
加载中

最新评论(2

doyouhaobaby
doyouhaobaby

引用来自“陨落人间”的评论

作者是不是以前的小牛哥?
陨落人间
陨落人间
作者是不是以前的小牛哥?
返回顶部
顶部