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

2018-12-11 10:22:17 +08:00
 doyouhaobaby

QueryPHP 渐进式 PHP 常驻框架引擎

来源: https://www.oschina.net/news/102591/queryphp-1-0-0-alpha2

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

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

#特性

更新日志

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

hunzhiwange/framework

hunzhiwange/queryphp

金字招牌,百分之百单元测试覆盖

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

后台首页

红色主题的资源列表

2915 次点击
所在节点    PHP
7 条回复
iiusky
2018-12-11 14:07:43 +08:00
支持 oauth2 server 么?
fenglangjuxu
2018-12-11 14:20:33 +08:00
支持
dobelee
2018-12-11 14:26:31 +08:00
mark。
doyouhaobaby
2018-12-11 14:29:06 +08:00
@iiusky 类似吧

https://github.com/hunzhiwange/queryphp/blob/master/frontend/.env.example

VUE_APP_BASE_API=http://127.0.0.1:9527

// 应用接入信息,对应数据库中 app
VUE_APP_APP_ID=admin
VUE_APP_APP_KEY=B1DA4485-B49D-D8E3-0F9E-168D7605A797


提供一个 APP_ID,APP_KEY,然后 用户名和密码,像是 oauth2 的 password 模式,没得刷新 token
wbrobot
2018-12-11 14:52:34 +08:00
真羡慕年轻人闲,搞出这么个吃力不讨好,没人用的东西。
masker
2018-12-11 14:56:42 +08:00
好丑啊。
doyouhaobaby
2018-12-11 14:57:32 +08:00
@wbrobot 公司内部的一些部分项目在用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/516380

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX